2014-09-28 4 views
0

나는 comilation 전에 소스에서 java 패키지 선언을 수정할 수있는 maven 플러그인을 찾으려고합니다. 좀 더 구체적으로, 소스는 jaxb2 플러그인을 통해 생성되고 네임 스페이스에 기반한 생성 된 패키지는 불행히도이 플러그인에서 수정할 수 없습니다. 예를 들어 aa.bb.Foo.java가 생성되어 있습니다. cc.dd.Foo.java. maven shade plugin 덕분에 컴파일 된 클래스 만 수정할 수 있지만 소스는 그대로 유지되므로 출력 항아리는 다음과 같습니다.Maven 패키지 수정

  • foo.jar - 그늘진 수정 패키지.
  • foo는-orginal.jar - 그늘 수정하기 전에 항아리, 여기에 특별한
  • foo는-sources.jar 아무것도 - 단지 foo는-orginal.jar

모든 아이디어와 호환 소스 호환 foo는-소스가 있습니다. foo.jar와 병?

답변

0

Maven JAXB2 플러그인은 사용자 정의 패키지 이름을 지정하는 구성을 제공합니다. 어쩌면 그것이 당신을 도울 것입니다.

<configuration> 
    ... 
    <generatePackage>my.own.packagename</generatePackage> 
    ... 
</configuration> 

자세한 내용은 여기를 참조하십시오

http://confluence.highsource.org/display/MJIIP/User+Guide#UserGuide-Controllingtheoutput

업데이트 :

<?xml version="1.0" encoding="UTF-8"?> 

<jaxb:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" version="1.0"> 
    <jaxb:bindings schemaLocation="..." 
     node="//xsd:schema[@targetNamespace='http://demo.ws/address']"> 
     <jaxb:schemaBindings> 
      <jaxb:package name="demo.ws.address" /> 
     </jaxb:schemaBindings> 
    </jaxb:bindings> 
    <jaxb:bindings schemaLocation="..." 
    node="//xsd:schema[@targetNamespace='http://demo.ws/name']"> 
     <jaxb:schemaBindings> 
      <jaxb:package name="demo.ws.name" /> 
     </jaxb:schemaBindings> 
    </jaxb:bindings> 
</jaxb:bindings> 
: 둘 이상의 네임 스페이스가있는 경우

, 당신은이 같은 바인딩 파일을 사용할 수 있습니다

티 파일을 바인딩 플러그인 구성에서 설정할 수있는 S : 답변

<configuration> 
    ... 
    <bindingDirectory>...</bindingDirectory> 
    <bindingIncludes> 
     <include>*.xjb</include> 
    </bindingIncludes> 
    ... 
</configuration> 
+0

감사합니다, 나는 JAXB에서이 구성 알고 있어요,하지만 난 같은 이름을 가진 많은 수업이 있기 때문에 그것은 도움이되지 수 있으며,이 한 패키지에서 모든 것이 생성되면 충돌합니다. 결국 나는 네임 스페이스를 기반으로 클래스를 생성하기 위해 jaxb 세대를 떠나야하고 패키지를 수정해야한다. – user1806952

+0

아마도 바인딩 파일이 당신이 찾고있는 파일 일 것이다. 내 업데이트 답변을 참조하십시오. – DirkNM

+0

하나의 프로젝트에서 많은 스키마로 인해서 바인딩 파일을 없애 버렸습니다. 약 100 개 정도였습니다. 하나의 파일로 xsd를 지정하고 패키지에 매핑해야하기 때문에 파일을 조금 엉망으로 유지하기가 어려웠습니다. – user1806952

관련 문제