2012-07-23 128 views
1

我想在netbeans中運行我的maven項目時添加一個自定義類路徑。到目前爲止,我已經嘗試添加以下內容在項目屬性的運行項目行動:在netbeans中爲maven項目設置自定義運行時類路徑

exec.args=-classpath %classpath;c:/QUASR/duplicateRemoval.jar;c:/QUASR/lib/QUASR.jar ${packageClassName} 

exec.args=-cp %classpath;c:/QUASR/duplicateRemoval.jar;c:/QUASR/lib/QUASR.jar ${packageClassName} 

exec.args=-cp c:/QUASR/duplicateRemoval.jar;c:/QUASR/lib/QUASR.jar ${packageClassName} 

,但沒有運氣,自定義運行時類路徑未設置。

回答

1

您應該在您的pom中添加一個新配置文件run-with-netbeans,該配置文件聲明瞭其他依賴關係(使用provided範圍不在發佈中包含它們)。

然後,您必須將新配置文件添加到IDE以在命令行中運行帶有-P run-with-netbeans選項的pom。

<properties> 
    <!-- provided by default --> 
    <my-dynamic-scope>provided</my-dynamic-scope> 
</properties> 

<profiles> 
    <profile> 
     <id>run-with-netbeans</id> 
     <properties> 
      <!-- compile when running in IDE --> 
      <my-dynamic-scope>compile</my-dynamic-scope> 
     </properties> 
     <dependencies> 
      <dependency> 
       <groupId>log4j</groupId> 
       <artifactId>log4j</artifactId> 
       <version>${log4j.version}</version> 
      </dependency> 
     </dependencies> 
    </profile> 
</profiles> 


<dependencies> 
    <dependency> 
     <groupId>commons-lang</groupId> 
     <artifactId>commons-lang</artifactId> 
     <version>${commons-lang.version}</version> 
     <scope>${my-dynamic-scope}</scope> 
    </dependency> 
</dependencies> 

上面的代碼段只有在使用run-with-netbeans配置文件運行時纔會添加log4j。它還設置一個屬性my-dynamic-scope,可用於您的依賴項塊來更改範圍。

HIH M.

+0

可能有人對這個答案擴大?這正是我想要做的,在編程和編譯期間包含一個庫,但不包含在構建中。我對編輯POM文件有點熟悉,但我不知道如何執行這些步驟。 – 2015-08-19 05:26:47

+0

類似的問題,[在編程和編譯時包含庫,但在基於NetBeans Maven的項目中排除構建](http://stackoverflow.com/q/32087445/642706),並帶有很好的答案。 – 2015-08-19 06:52:57

+0

@BasilBourque查看我的編輯 – poussma 2015-08-19 07:00:55

相關問題