2017-08-28 54 views
0

我知道這是this等重複問題。但在嘗試了所有解決方案之後,我仍然面臨着這個問題。無法運行jar文件獲取「錯誤:無法找到或加載主類com.trident.SchedulerMain」

這是我的pom.xml

<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>com.trident.optimize</groupId> 
    <artifactId>scheduler</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <properties> 
     <java.version>1.8</java.version> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <springframework.version>4.3.4.RELEASE</springframework.version> 
     <springsecurity.version>4.0.4.RELEASE</springsecurity.version> 
     <hibernate.version>5.2.6.Final</hibernate.version> 
     <mysql.connector.version>6.0.5</mysql.connector.version> 
    </properties> 
    <dependencies> 
     <!-- Spring --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <!-- Hibernate --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>${hibernate.version}</version> 
     </dependency> 
     <!-- MySQL --> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>${mysql.connector.version}</version> 
     </dependency> 
     <!-- jsr303 validation --> 
     <dependency> 
      <groupId>javax.validation</groupId> 
      <artifactId>validation-api</artifactId> 
      <version>1.1.0.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>5.1.3.Final</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/log4j/log4j --> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --> 
     <dependency> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
      <version>1.2</version> 
     </dependency> 
     <!-- JSON dependencies --> 
     <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple --> 
     <dependency> 
      <groupId>com.googlecode.json-simple</groupId> 
      <artifactId>json-simple</artifactId> 
      <version>1.1.1</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-core</artifactId> 
      <version>2.8.7</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>2.8.7</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/jcifs/jcifs --> 
     <dependency> 
      <groupId>jcifs</groupId> 
      <artifactId>jcifs</artifactId> 
      <version>1.3.17</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/com.jcraft/jsch --> 
     <dependency> 
      <groupId>com.jcraft</groupId> 
      <artifactId>jsch</artifactId> 
      <version>0.1.54</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/net.sf.opencsv/opencsv --> 
     <dependency> 
      <groupId>net.sf.opencsv</groupId> 
      <artifactId>opencsv</artifactId> 
      <version>2.3</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> 
     <dependency> 
      <groupId>commons-fileupload</groupId> 
      <artifactId>commons-fileupload</artifactId> 
      <version>1.3</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> 
     <dependency> 
      <groupId>commons-io</groupId> 
      <artifactId>commons-io</artifactId> 
      <version>2.5</version> 
     </dependency> 
     <!-- HTTPClient --> 
     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.6</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>fluent-hc</artifactId> 
      <version>4.2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient</artifactId> 
      <version>4.2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient-cache</artifactId> 
      <version>4.2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpcore</artifactId> 
      <version>4.2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpmime</artifactId> 
      <version>4.2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-httpclient</groupId> 
      <artifactId>commons-httpclient</artifactId> 
      <version>3.1</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-core-asl --> 
     <dependency> 
      <groupId>org.codehaus.jackson</groupId> 
      <artifactId>jackson-core-asl</artifactId> 
      <version>1.9.13</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/com.force.api/force-wsc --> 
     <dependency> 
      <groupId>com.force.api</groupId> 
      <artifactId>force-wsc</artifactId> 
      <version>40.0.0</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/com.force.api/force-partner-api --> 
     <dependency> 
      <groupId>com.force.api</groupId> 
      <artifactId>force-partner-api</artifactId> 
      <version>40.0.0</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <configuration> 
        <archive> 
         <manifest> 
          <mainClass>com.trident.SchedulerMain</mainClass> 
         </manifest> 
        </archive> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.0</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 

     </plugins> 
    </build> 

</project> 

而且mvn的版本是:

Apache Maven 3.3.9 Maven home: /usr/share/maven Java version: 1.8.0_144, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-8-oracle/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.10.0-32-generic", arch: "amd64", family: "unix"

,我使用下面的命令來運行jar文件

  • java -jar xyz.jar 並得到錯誤:no main manifest attribute, in xyz.jar
  • java -cp xyz.jar com.trident.SchedulerMain並得到錯誤: Error: Could not find or load main class com.trident.SchedulerMain

即使嘗試創建MANIFEST.MF並添加這些行

Main-Class: com.trident.SchedulerMain

但仍沒有運氣。任何人都可以幫助我嗎?

+0

解壓縮jar文件,什麼是正確的類路徑?你忘記了屬於groupId一部分的'optimze'包嗎? –

回答

0

請確保您將.class文件的位置添加到類路徑中。如果你的.class文件在當前文件夾中,然後添加。到你的類路徑。如果你的班級在一個包中,那麼請致電java -classpath . packagename.ClassName

+0

我應該在哪裏提供它?在'MANIFEST.MF'文件中還是在運行jar? –

相關問題