2017-10-10 61 views
0

https://github.com/javafx-maven-plugin/javafx-basic-archetype
我生成使用Maven項目:不能運行程序包生成從JavaFX的基本-原型

mvn archetype:generate -DarchetypeGroupId=com.zenjava -DarchetypeArtifactId=javafx-basic-archetype 

然後,我從項目目錄執行mvn package,它產生的罐子。

我試着通過雙擊運行jar,但沒有任何反應。 我試圖通過命令行運行:java -jar Tester.jar,但我得到的錯誤:

no main manifest attribute, in target\Tester.jar

注:它從IntelliJIDEA運行,如果我導入項目並運行它,但的IntelliJ不會產生.jar,只有.class文件。

這是它產生的POM:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 

    <groupId>testgroup</groupId> 
    <artifactId>Tester</artifactId> 
    <name>Tester</name> 

    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 

    <organization> 
     <!-- Used as the 'Vendor' for JNLP generation --> 
     <name>testorg</name> 
    </organization> 

    <properties> 
     <slf4j.version>1.7.12</slf4j.version> 
     <log4j.version>1.2.17</log4j.version> 
    </properties> 

    <build> 

     <finalName>Tester</finalName> 

     <plugins> 

      <plugin> 
       <groupId>com.zenjava</groupId> 
       <artifactId>javafx-maven-plugin</artifactId> 
       <version>8.1.5</version> 
       <configuration> 

        <mainClass>testgroup.MainApp</mainClass> 

        <!-- only required if signing the jar file --> 
        <keyStoreAlias>example-user</keyStoreAlias> 
        <keyStorePassword>example-password</keyStorePassword> 
        <allPermissions>true</allPermissions> 

       </configuration> 
      </plugin> 

     </plugins> 
    </build> 


    <dependencies> 

     <!-- MigLayout --> 

     <dependency> 
      <groupId>com.miglayout</groupId> 
      <artifactId>miglayout-javafx</artifactId> 
      <version>5.0</version> 
     </dependency> 

     <!-- Apache Commons --> 

     <dependency> 
      <groupId>commons-lang</groupId> 
      <artifactId>commons-lang</artifactId> 
      <version>2.6</version> 
     </dependency> 

     <!-- Logging --> 

     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>${slf4j.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jcl-over-slf4j</artifactId> 
      <version>${slf4j.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>${slf4j.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>${log4j.version}</version> 
     </dependency> 

    </dependencies> 

</project> 

回答

1

錯誤消息基本上意味着你不必路徑的Manifest.MF中的文件中指定主類。

添加到您的pom.xml文件的以下幾行代碼,並更改正確的一個mainClass參數:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>com.maventest.App</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

在這之後,你應該運行mvn clean package命令,然後嘗試運行你的應用程序。

+0

我仍然得到相同的錯誤。我加了我原來的問題。 –

+0

你能不能像我建議的那樣運行'mvn clean package'命令並編輯你的Manifest.MF文件內容? – konrad2645

相關問題