[英]Issue Reading data input files from IntelliJ (as a run configuration or from Terminal) from an imported Maven Project
[英]Can run a Maven project within IntelliJ but not from Terminal
我已經在IntelliJ中創建了一個利用Maven的控制台應用程序。 從IntelliJ中,我可以毫無問題地編譯和運行該應用程序...
但是從終端我執行以下命令(與pom.xml在同一目錄中)
mvn Install -U
java -classpath target/myApp-2.0-SNAPSHOT.jar MainClass
install命令似乎可以毫無問題地構建jar文件。 第二個命令給我以下錯誤
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonParseException
在我的pom.xml中,我的依賴關系如下
<dependencies>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.5.0</version>
</dependency>
</dependencies>
在我看來,它並沒有引入傑克遜的依賴關系,但我不確定在這里缺少什么。
Maven對運行時類路徑(僅對編譯時類路徑)沒有影響。 您需要將依賴項添加到類路徑。
如前所述,您遇到的問題是您的jar需要其他jar才能執行。
我看到3個解決方案:
1-如上所述,在運行程序時,請添加-classpath參數
2-使用maven-jar-plugin在清單中添加依賴項,然后只需在請求的位置具有依賴項即可執行所有操作。 參見http://maven.apache.org/shared/maven-archiver/examples/classpath.html#a添加
3-使用jarjar之類的插件將jar中的依賴項打包: http ://sonatype.github.io/jarjar-maven-plugin/
這將創建一個獨立的jar
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.