java-ee環境を持っている人なら誰でも役立つプロジェクトを作成しています。すべての EJB アノテーションを使用してコーディングできるようにするために、必要最小限の Java-ee インターフェイス ライブラリをプロジェクトに含めたくはありませんが、プロジェクトにprovided
すべてのクラスをインポートしないように、それをスコープにしたいと考えています。
この依存関係を作成し、すべてのユーザーに Java-ee ライブラリを要求する方法はありますか、または各サーバーの種類を検出したときにアクティブになる Maven プロファイルのようなものを作成する必要がありますか (つまり、jboss 用、glassfish 用、websphere 用)など)。
私のポンは次のようになります:
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>project-that-wants-users-to-have-javaee-libraries</artifactId>
<version>0.0.1-Pre-alpha</version>
<dependencies>
....
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
編集:私が求めていることを明確にするために、次のようなmavenプロジェクトがあるとします:
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>testEJBProject</artifactId>
<dependencies>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-all-6.0</artifactId>
<version>3.0.2.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>project-that-wants-users-to-have-javaee-libraries</artifactId>
<version>0.0.1-Pre-alpha</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.4.Final</version>
</plugin>
</plugins>
</build>
</project>
特に jboss-javaee-all-6.0 API とプラグインを使用している場合でも、コードの依存関係は実行時に満たされますか?