运行由maven |
您所在的位置:网站首页 › maven打包后找不到或无法加载主类 › 运行由maven |
尝试使用maven-assembly插件创建一个包含所有依赖项的胖jar文件。尝试了一堆东西,但最终与主类未找到错误。好像我碰到了一堵墙,现在在这里待了几个小时。运行由maven-assembly创建的可执行文件jar:错误:无法找到或加载主类 pom.xml片段: 4.0.0 foobar foobar 1.0-SNAPSHOT org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 org.apache.maven.plugins maven-assembly-plugin /home/jars/foobar/ jar-with-dependencies com.foobar.Main ...Maven的命令执行: mvn clean compile assembly:single mvn package assembly:single mvn clean compile package assembly:single 创建在/home/jars/foobar/foobar-1.0-SNAPSHOT-jar-with-dependencies.jar罐子如预期 MANIFEST.INF在META-INF Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Built-By: user Created-By: Apache Maven 3.3.9 Build-Jdk: 1.8.0_131 Main-Class: com.foobar.Main爪哇命令执行: java -jar foobar-1.0-SNAPSHOT-jar-with-dependencies.jar java -cp foobar-1.0-SNAPSHOT-jar-with-dependencies.jar com.foobar.Main java -jar foobar-1.0-SNAPSHOT-jar-with-dependencies.jar -cp com.foobar.Main 全部返回相同的错误:Error: Could not find or load main class com.foobar.Main OS:Fedora 25 java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode javac -version javac 1.8.0_121 mvn --version Apache Maven 3.3.9 (NON-CANONICAL_2016-07-01T11:53:38Z_mockbuild; 2016-07-01T17:23:38+05:30) Maven home: /usr/share/maven Java version: 1.8.0_131, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.fc25.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.10.13-200.fc25.x86_64", arch: "amd64", family: "unix"解决: 的问题是,源代码没有得到编译。无法在胖罐中找到源代码jar。看起来像maven认为一定的包装结构。 加入以下解决这个问题: src/com/foobar来源 2017-05-16 user2354302 +1试着看看.jar里面,看看Maven如何整理文件?你能看到你的班级吗?我为Spring引导应用程序构建了类似的问题,其中插件已将文件移动到兼容Spring引导的文件中,但无法使用“java -jar ...”运行 – +0结果如果您尝试使用' maven install'? – +0@MinhKieu就是这样!叹!似乎maven假定某个目录结构。通过添加' sourceDirectory>'来解决它。如果你能回答这个问题,我会将它标记为正确的。 – user2354302 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |