assembly里面没有oracle,运行由maven-assembly创建的可执行文件jar:错误:无法找到或加载主类...

尝试使用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

+1

试着看看.jar​​里面,看看Maven如何整理文件?你能看到你的班级吗?我为Spring引导应用程序构建了类似的问题,其中插件已将文件移动到兼容Spring引导的文件中,但无法使用“java -jar ...”运行 –

+0

结果如果您尝试使用' maven install'? –

+0

@MinhKieu就是这样!叹!似乎maven假定某个目录结构。通过添加'sourceDirectory>'来解决它。如果你能回答这个问题,我会将它标记为正确的。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值