sbt-xjc 플러그인을 사용하여 QTI XSD (특히 this one)에서 JAXB Java 클래스를 만드는 SBT 프로젝트가 있습니다. My XSD는 MathML에 의존적이며 MathML 클래스와 QTI를 예상대로 생성합니다. 현재 사용중인 xjc 플래그는 -verbose -extension
입니다. 내가 MathML을에 대한 종속성과 다른 JAXB 프로젝트를 가지고 하나는 MathML을 클래스를 생성, 그러나SBT 프로젝트에서 생성 된 소스 패키지 디렉토리 제외
- src/main/resources/imsqti_v2p1.xsd
- target
- classes/org
- imsglobal/... - Contains QTI .class files
- w3_1998/math/mathml/... - Contains MathML .class files
- src_managed/main/org
- imsglobal/... - Contains generated QTI .java files
- w3/_1998/math/mathml/... - Contains MathML .java files
:
여기 내 디렉토리 트리입니다. 중복 수업을 없애고 싶습니다. MathML JAXB 프로젝트를 생성하여 다른 2 개의 프로젝트에 종속성으로 추가했습니다. SBT에게 MathML 클래스를 포함하지 않는 QTI 자동 생성 JAR을 생성하도록 말할 수 있습니까?
나는 this answer과 비슷한 것을 시도했지만 작동하지 않습니다. MathML 클래스는 여전히 JAR에 포함됩니다.
val mathmlPath = "org/w3/_1998/math/mathml"
def isInPath(path: String, file: File) = file.getCanonicalPath.startsWith(mathmlPath)
(managedSources in Compile) := managedSources.value.filterNot(file => isInPath(mathmlPath,file))
내가이 작업을 얻기 위해 아래의 어떤을 받아 들일 수 있습니다 :
- 구성 SBT-xjc를 MathML을 클래스를 생성하지 않도록 여기에 내 build.sbt에 추가 내 시도이다.
- MathML 클래스를 컴파일하지 않도록 sbt를 구성합니다.
- sbt가 MathML 클래스를 패키지하지 않도록 구성하십시오.
관리되는 원본을 인쇄하려고 했습니까? 파일에 제외 할 파일이 들어 있습니까? – marios