2017-05-07 83 views
1

我有java项目。当我将它导出到file.jar时,无法用双击打开它。导出Java项目.jar

当我用命令行测试:

java -jar file.jar 

它显示消息:

无主清单属性

但:

java -cp app.jar com.somepackage.SomeClass 

它完美运行。

我使用IntelliJ IDEA和maven。 清单代码:

Manifest-Version: 1.0 
Main-Class: StructureClasses.Main 
+0

答案在这里:http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven –

+0

可能重复的[我如何创建一个可执行JAR与依赖使用Maven?](http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven) – Ice

+0

请参阅http:// stackoverflow .com/a/42200519/104891为示例项目。 – CrazyCoder

回答

1

如果要导入的任何图片或使用不file.jar创建一个文件夹,并把所有的其他文件中使用file.jar该文件夹中的文件与任何其他文件。罐。

+0

这是同样的问题 –

0

如果您已经在使用Maven,请查看maven-assembly-plugin。我认为它已经做到了你想要的是mainClass属性。

这是从official page

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>3.0.0</version> 
    <configuration> 
     [...] 
     <archive> 
     <manifest> 
      <mainClass>org.sample.App</mainClass> 
     </manifest> 
     </archive> 
    </configuration> 
    [...] 
    </plugin> 

利用这种配置的例子,你现在应该能够运行jar文件要么双击或java -jar。请记住,mainClass属性必须是该类的完全限定名称。