2013-07-04 75 views
2

我正在使用sbt-xjc插件來生成我的xml類。覆蓋sbt-xjc插件中的sourceManaged

默認值爲sourceManaged前置xjc。我想刪除xjc。我應該怎麼做?

+0

莫非[一個人如何改變爲SBT的SBT-XJC插件的源目錄?(HTTP://計算器.com/q/8052651/1305344)有幫助嗎? –

回答

0

對於我來說,加入以下項目/ build.scala工作:

++ Seq(
    sourceManaged in (Compile, SbtXjcPlugin.xjc) <<= sourceManaged 

整個文件看起來是這樣的:

import com.github.retronym.sbtxjc.test.BaseScriptedTestBuild 
import com.github.retronym.sbtxjc.SbtXjcPlugin 
import sbt._ 
import Keys._ 

object build extends BaseScriptedTestBuild { 
    lazy val root = { 

    Project(
    id = "main", 
     base = file("."), 
     settings = Defaults.defaultSettings ++ scriptedTestSettings ++ SbtXjcPlugin.xjcSettings ++ Seq(
     resolvers += "Java Net" at "http://download.java.net/maven/2/" 
    )++ Seq(
     sourceManaged in (Compile, SbtXjcPlugin.xjc) <<= sourceManaged 
    ) 
    ); 
    } 
} 
0

有了這個配置在build.sbt,XJC直接生成的類在src_managed/main

SbtXjcPlugin.xjcSettings ++ Seq(
    sources in (Compile, xjc) <<= baseDirectory map (_/"xsd" ** "*.xsd" get), 
    sourceManaged in (Compile, xjc) <<= sourceManaged/"main" 
) 

XJC會尋找XSD文件/xsd和輸出生成的類中/target/scala-2.x/src_managed/main

+0

您能否提供更多詳細信息,找不到'SbtXjcPlugin.xjcSettings',但 'xjcSettings ++ Seq(...)'工作正常,但當我啓動xjc任務時,找不到任何xsd – HugoPoi

+0

此解決方案可行,但不適用'main'目錄,但有一個子目錄'main/xsd': '''' sourceManaged in(Compile,SbtXjcPlugin.xjc)<< = sourceManaged /「main/xsd」 ''''' – HugoPoi