CMDでMavenのプロジェクトを実行します

ガブリエラNedkova:

私はCMDでのMavenプロジェクトを実行する必要がありますよ。これは私のpom.xmlファイルであります:

http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0

<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>

<name>my-app</name>
<!-- FIXME change it to the project's website -->

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <maven.compiler.release>11</maven.compiler.release>
</properties>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.16</version>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.4.2.Final</version>
    </dependency>
</dependencies>

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

私は次のエラーを取得するプロジェクトがIDE(Eclipseの)中で完全に罰金実行されているが、私は実行しようとすると、それは、コマンドラインから実行します:

Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
        at com.mycompany.app.App.main(App.java:15)
Caused by: java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 1 more
Alexandarペトロフ:

あなたのケースでの問題は、クラスパスに依存関係を持っていけないということです。あなたは、このような得ることがpluging Mavenを使用することができます。

 <build>
      <plugins>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
            <archive>
              <manifest>
                <mainClass>fully.qualified.MainClass</mainClass>
              </manifest>
            </archive>
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
          </configuration>
          <executions>
              <execution>
                <id>make-assembly</id> <!-- this is used for inheritance merges -->
                <phase>package</phase> <!-- bind to the packaging phase -->
                <goals>
                   <goal>single</goal>
                </goals>
              </execution>
            </executions>
        </plugin>
      </plugins>
    </build>

ソースは、どのように私はMavenを使用して依存関係を持つ実行可能なJARを作成することができますか?

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=228321&siteId=1