私は2つのmavenモジュール、AppManagerとmyAppを持っています。これらはローカルの同じディレクトリにあり、テスト目的のために会社のオンラインレポでは利用できません。 IntelliJでは、AppManagerのフィールドとメソッドを使用しても問題はなく、エラーメッセージもありません。 myAppのimpl pomファイルにcom.mycompany.appManagerをエクスポートしています。ただし、IDEの外に構築すると、mvn clean install
の場合、パッケージcom.mycompany.appManager
が存在しないためエラーが発生し、appManagerで定義されたパブリックフィールドの使用に関する未解決のシンボルにエラーが関連付けられます。どうすればこの問題を解決できますか?私は、エクスポートを試みて、依存関係を追加しましたが、これらの2つのソリューションは動作しません。Mavenビルド失敗:パッケージが存在しません
のpom.xml:
<moduleVersion>4.0.0</moduleVersion>
<parent>
<groupId>com.myCompany</groupId>
<artifactId>myApp</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.myCompany.myApp</groupId>
<artifactId>com.myCompany.myApp.impl</artifactId>
<packaging>bundle</packaging>
<name>My App Implementation</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>
com.myCompany.appmanager
</Export-Package>
<Bundle-Activator>com.mycompany.myapp.impl.component</Bundle-Activator>
</instructions>
</configuration>
</plugin>
</plugin>
</build>
コンパイルエラー:あなたは二つのプロジェクトAとBを持っている場合は
:
[ERROR] /root/Desktop/apps/myapp/impl/src/main/java/com/mycompany/myApp/impl/component.java:[11,49] package com.mycompany.appmanager does not exist
[ERROR] /root/Desktop/apps/myapp/impl/src/main/java/com/mycompany/myApp/impl/component.java:[64,49] cannot find symbol
symbol: variable AppManagerModule
location: class com/mycompany/myApp/impl/component
pom.xmlと完全なエラーログを投稿してください。 –
欠落しているパッケージは、実際にはランタイム依存性であり、コマンドラインからのコンパイルに失敗します。しかし、Maven IntelliJプラグインはスコープルールを無視し、すべての依存関係を取り除いてコンパイルと実行に成功します。 –