JBoss 및 WildFly에서 BOM 사용에 대한 일반적인 질문이 있습니다. 다른 프로필을 사용하여 JBoss 7 및 WildFly 10 용 프로젝트를 빌드하는 방법입니까? 프로필에 다른 JBoss BOM 사용
는이 같은 프로필로 제이보스에서 BOM 정의를 복사하려고 : accourdingly JBoss7 프로파일 물론<profile>
<id>WildFly10</id>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>wildfly-javaee7-with-tools</artifactId>
<version>${version.jboss.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- JSON -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>${version.json}</version>
</dependency>
</dependencies>
</dependencyManagement>
</profile>
.
그러나 이렇게하면 lib 폴더에 중요한 라이브러리가 추가되지 않습니다. 즉,이 정의는 ear pom에 있고 하위 프로젝트 (war)는 json 종속성을 추가합니다. 프로파일이 없다면 maven은 lib 폴더 안에 json jar 파일을 추가합니다. 프로파일 안에 넣으면 안됩니다.
는 후에 나는 프로필에 종속성을 변경하는 안티 패턴이 [1] 내가 JBoss7 및 제이보스 모두 내 프로젝트를 빌드 할 수있는 방법
(10)
업데이트를 알고 싶은 것을 읽을 수 죄송합니다. 신속한 질문을 보내 주셔서 감사합니다. 자세한 내용은 다음과 같습니다.
프로젝트 구조 :
|-parent (pom)
|- myapp (war)
|- core (jar)
|- deployment (ear)
그래서 deployment
라이브러리와 같은 웹 apllication로 myapp
및 core
를 포함하는 전체 귀를 구축하는 프로젝트입니다. myapp
은 core
및 core
~ json
에 대한 종속성을가집니다.
올바른 버전으로 필요한 모든 종속성을 갖기 위해 dependencyManagment에 wildfly-javaee7-with-tools
을 포함 시켰습니다. 거기에 정의 된 버전은 json
입니다. core
프로젝트에는 보통 종속성으로 json
라이브러리가 있습니다.
이 시점에서 이것은 아주 표준이어야합니다. 그러나 것은 나는 물론 ${version.jboss.bom}
의
<dependency>
<groupId>org.jboss.bom</groupId>
<artifactId>jboss-javaee-6.0-with-tools</artifactId>
<version>${version.jboss.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
가 제이보스에 대한 10.1.0.Final
에서 변경됩니다
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>wildfly-javaee7-with-tools</artifactId>
<version>${version.jboss.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
에 변경해야 할 것에 대해, 제이보스 (7) 및 제이보스 (10)에 대한 구축 할 수 있도록하려는 것입니다 JBoss 용 1.0.7.Final
. 이렇게하려면 wildfly-javaee7-with-tools
을 프로필로 이동하려했습니다. 내 첫 번째 추측은이 종속성을 프로필로 이동하는 것뿐이었습니다. 그러나 json
항아리는 포함되지 않습니다. 그 후 나는 또한 위와 같이 json
을 움직이려고했다.
죄송합니다. 주제 밖에서이 물건을 연결 하시겠습니까? _changing dependencie는 프로필에 anti-pattern입니까? 그리고 비 프로파일 pom에서 관련 부분을 포함하도록 질문에 편집하거나 해당 pom/import 종속성 만 있습니까? – pirho
"프로파일이 없으면 maven은 lib 폴더 안에 json jar를 추가합니다."- 이것에 대해 pom을 표시 할 수 있습니까? – SilverNak
사실이 pom에는 특별한 것이 없습니다. 그것은 단지 몇 가지 의존성을 가지고 있습니다. 그 중 하나는 JSON 종속성이있는 다른 하위 프로젝트 (jar)입니다. 프로필이 전혀 없으면 JSON jar가 추가되지만, 프로필에 포함 시키면 포함되지 않습니다. –