2017-04-05 59 views
0

我正在使用maven exec插件來運行我的項目。我的項目有一個使用嵌入式Jetty運行應用程序的Start類。 POM的正常部分對碼頭的依賴被標記爲「提供」,因爲我不想在最終的WAR中使用它。Maven exec:exec - 需要額外的插件類路徑元素

如何告訴exec插件在運行mvn exec:exec時將下面的2個罐子添加到類路徑中? executableDepedency元素不會將其添加到類路徑中。目前,類路徑是未標記爲testprovided的所有依賴關係罐。

<plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.5.0</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <executableDependency> 
        <groupId>org.mortbay.jetty</groupId> 
        <artifactId>jetty</artifactId> 
        <version>${jetty.version}</version> 
       </executableDependency> 
       <executableDependency> 
        <groupId>org.mortbay.jetty</groupId> 
        <artifactId>jetty-management</artifactId> 
        <version>${jetty.version}</version> 
       </executableDependency> 
       <executable>java</executable> 
       <arguments> 
        <argument>-classpath</argument> 
        <classpath />      
        <argument>net.mikeski.Start</argument> 
       </arguments> 
      </configuration> 
     </plugin> 

回答

0

原來有2個選項可以在使用exec時使用Maven:java(這正是我想要的)。您可以指定真/假每個:在classpath

  • 使用項目依賴
  • 使用插件的依賴在​​classpath

所以,我說我provided項目依賴的插件依賴性和將這兩個屬性設置爲true並且它可以工作。

  <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.5.0</version> 
       <dependencies> 
        <dependency> 
        <dependency> 
         <groupId>org.mortbay.jetty</groupId> 
         <artifactId>jetty</artifactId> 
         <version>${jetty.version}</version> 
        </dependency> 
        <dependency> 
         <groupId>org.mortbay.jetty</groupId> 
         <artifactId>jetty-util</artifactId> 
         <version>${jetty.version}</version> 
        </dependency> 
        <dependency> 
         <groupId>org.mortbay.jetty</groupId> 
         <artifactId>jetty-management</artifactId> 
         <version>${jetty.version}</version> 
        </dependency> 
       </dependencies> 
       <executions> 
        <execution> 
         <goals> 
          <goal>exec</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <includePluginDependencies>true</includePluginDependencies> 
        <includeProjectDependencies>true</includeProjectDependencies> 
        <executable>java</executable> 
        <mainClass>com.whatever.Main</mainClass> 
       </configuration> 
     ...