Google Guavaを設定するための新しいプロジェクトを作成しました。Google Guavaを使用するとJARのメインクラスのスローエラーが発生する
これは私のPOM.xmlです。
<dependencies>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>InetAddressTest</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
これは私の主な方法です。
public static void main(String[] args) throws Exception {
try {
System.out.println(InetAddresses.isInetAddress("127.0.0.1"));
} catch (NoClassDefFoundError exp) {
System.out.println(exp);
}
}
私はIDE内で実行することができます。私はそれjava -jar target/<NAME>.jar
を実行すると
私はmvn package
でそれをパッケージ化することができ、それは私が解決策を閲覧しようとした例外java.lang.NoClassDefFoundError: com/google/common/net/InetAddresses
をスローします。しかし、彼らはこれまでに働いていません。
私はGuava
のいくつかの依存関係が欠けていると推測しています(他の問題に基づいています)?
java -jar -classpath .:./{path_to_gauva_jar} target/<name>.Jar
変更セパレーターを使用しているオペレーティング・システムごとに:
あなたはjarファイルをパッケージ化すると、あなたは依存関係だけでなく、その一部をパッケージ化する必要があります。 – OTM
もご覧ください。 https://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven – OTM
ありがとうございます@OTM私はそれをしました。 – william