Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导出Java项目.jar_Java_Maven - Fatal编程技术网

导出Java项目.jar

导出Java项目.jar,java,maven,Java,Maven,我有一个java项目。当我将它导出到file.jar时,双击无法打开它 当我使用命令行进行测试时: java -jar file.jar 它显示了以下信息: 没有主清单属性 但是: java -cp app.jar com.somepackage.SomeClass 它运行得很好 我使用IntelliJ IDEA和maven。 舱单代码: Manifest-Version: 1.0 Main-Class: StructureClasses.Main 如果您正在导入任何图片或使用非file.

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

当我使用命令行进行测试时:

java -jar file.jar
它显示了以下信息:

没有主清单属性

但是:

java -cp app.jar com.somepackage.SomeClass
它运行得很好

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

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

如果您正在导入任何图片或使用非file.jar的任何其他文件,请创建一个文件夹,并将所有其他正在使用的文件与file.jar一起放在该文件夹的file.jar中。

如果您已经在使用Maven,请查看Maven程序集插件。我认为它已经做了你想要的是mainClass属性

这是一个来自


maven汇编插件
3.0.0
[...]
org.sample.App
[...]

使用此配置,您现在应该能够双击或
java-jar
运行jar文件。请记住,mainClass属性必须是类的完全限定名。

答案如下:示例项目的See可能重复。这是相同的问题
  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
      [...]
      <archive>
        <manifest>
          <mainClass>org.sample.App</mainClass>
        </manifest>
      </archive>
    </configuration>
    [...]
  </plugin>