[解決済み] mavenのコンパイルに失敗するのはなぜですか?
2022-02-24 05:59:59
質問
私はmavenでjavaプロジェクトを構築しようとしています。私は以下を介してmavenコマンドをチェックします。
mvn -v
と表示され、次のような出力が得られます。
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T18:41:47+02:00)
Maven home: C:\Program Files\Apache\Maven\apache-maven-3.3.9\bin\..
Java version: 1.8.0_101, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_101\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
を追加します。
org.joda.time.LocalTime
に
HelloWorld.java
を次のようにします。
package hello;
import org.joda.time.LocalTime;
public class HelloWorld {
public static void main(String[] args) {
LocalTime currentTime = new LocalTime();
System.out.println("The current local time is: " + currentTime);
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
したがって、私は
joda-time
への依存は、私の
pom.xml
. 以下は、私の
pom.xml
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-maven</artifactId>
<packaging>jar</packaging>
<version>0.1.0</version>
<dependencies>
<!-- tag::joda[] -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.2</version>
</dependency>
<!-- end::joda[] -->
<!-- tag::junit[] -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- end::junit[] -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>hello.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
を実行しようとすると、必ず
mvn compile
のように出力されます。
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building gs-maven 0.1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ gs-maven ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory H:\Projects\JAVA\web\unzipped\gs-maven\initial\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ gs-maven ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling 2 source files to H:\Projects\JAVA\web\unzipped\gs-maven\initial\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /H:/Projects/JAVA/web/unzipped/gs-maven/initial/src/main/java/hello/HelloWorld.java:[3,21] package org.joda.time does not exist
[ERROR] /H:/Projects/JAVA/web/unzipped/gs-maven/initial/src/main/java/hello/HelloWorld.java:[7,9] cannot find symbol
symbol: class LocalTime
location: class hello.HelloWorld
[ERROR] /H:/Projects/JAVA/web/unzipped/gs-maven/initial/src/main/java/hello/HelloWorld.java:[7,37] cannot find symbol
symbol: class LocalTime
location: class hello.HelloWorld
[INFO] 3 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.647 s
[INFO] Finished at: 2016-10-03T09:11:07+03:00
[INFO] Final Memory: 14M/114M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project gs-maven: Compilation failure: Compilation failure:
[ERROR] /H:/Projects/JAVA/web/unzipped/gs-maven/initial/src/main/java/hello/HelloWorld.java:[3,21] package org.joda.time does not exist
[ERROR] /H:/Projects/JAVA/web/unzipped/gs-maven/initial/src/main/java/hello/HelloWorld.java:[7,9] cannot find symbol
[ERROR] symbol: class LocalTime
[ERROR] location: class hello.HelloWorld
[ERROR] /H:/Projects/JAVA/web/unzipped/gs-maven/initial/src/main/java/hello/HelloWorld.java:[7,37] cannot find symbol
[ERROR] symbol: class LocalTime
[ERROR] location: class hello.HelloWorld
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
何が間違っているのか、教えてください。
N.B.: 私は以下のことを行っています。 Mavenを使ったJavaプロジェクトの構築 のチュートリアルをご覧ください。
どのように解決するのか?
Maven が Java のバージョンを 1.8.0_101 として読み込んでおり、pom.xml が更新されていない状態です。
1) 必要なバージョンをインストールしてみてください。その際 JAVA_HOME と pom.xml 同じ jdk インストールパスに更新
2)
mvn clean install
- これはコンパイル済みのファイルをすべて消去し、各モジュールを本当に一からコンパイルしていることを確認するためのものです。
関連
-
[解決済み] アニメーションGIFの表示
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] B "の印刷が "#"の印刷より劇的に遅いのはなぜですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] Mavenスナップショットとは何か、なぜそれが必要なのか?
-
[解決済み】なぜJavaの+=, -=, *=, /=複合代入演算子はキャスティングを必要としないのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] なぜJPAには@Transientアノテーションがあるのですか?
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] javaでメソッドを呼び出すプログラムのエラー修正
-
[解決済み] Java: getInstanceとStaticの比較