我有xsd文件的列表來生成java對象,但我嘗試使用maven構建工具它工作正常。我在pom.xml中使用插件。我嘗試使用ANT構建工具它不工作。我嘗試了谷歌的下面的鏈接,但它不工作。 https://jaxb.java.net/jaxb20-ea/docs/xjcTask.html。 在我的項目中,我們使用ANT工具。所以請任何人幫我解決這個問題。如何使用ANT工具編譯xsd文件
0
A
回答
0
要編譯xsd文件,必須先創建模式(.java文件)。要做到這一點,你需要添加taskdef,它包含在你給出的鏈接中。然後你必須使用ant xjc任務。這裏有一個例子:
<xjc schema="your.xsd.file" target="place.to.put.java.file" package="package.for.the.file.eg.com.soft.anonymous"/>
現在,你有你的.java文件,bgm.ser和XSD架構,放置在目標目錄中創建jaxb.properties。編譯它們只需使用ant javac任務。 我希望這對你有所幫助。如果沒有,請在您嘗試編譯時指定問題究竟是什麼。
可以放置的taskdef在很多地方,但最好的地方將只是你的XJC任務之前。因此,例如,您有一個名爲xjc.target的目標。在這個目標中你放上taskdef,然後把xjc任務和javac。
讓我稍微解釋一下:
- 要確保在你的taskdef已正確設置文件集目錄。它必須是您放置jaxb.jar文件的目錄。例如project/lib。
- 在taskdef之後使用xjc任務。在src中給出你的xsd文件的路徑。在目標中,寫一個你想放置java文件的路徑。例如src/java /文件。在包中,你可以放置你的課程包。例如,如果你把pl.com.website,你的課程將去src/java/pl/com/website。
- 現在,你有你的Java文件。要使用它們,你必須使用javac任務編譯它們。所以你把這些java文件的src路徑。在目標中,你把你想要編譯它們的路徑(創建.class文件)。就這樣。
請嘗試一步一步,如果您有問題,請爲我複製粘貼控制檯輸出。這會幫助我更好地理解你的問題。
<target name="xjc.target">
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
<classpath>
<fileset dir="path/to/jaxb/lib" includes="*.jar" />
</classpath>
</taskdef>
<xjc schema="your.xsd.file" target="${java.files.dir}" package="package.for.the.file.eg.com.soft.anonymous"/>
<javac src="${java.files.dir}" target="${classes}"/>
</target>
相關問題
- 1. 如何通過一個ant編譯腳本編譯.drl文件
- 2. 使用ant編譯時Aspectj不工作
- 3. 如何後處理使用Ant javac任務編譯的文件?
- 4. 如何使用ANT編譯僅更改的源文件
- 5. 如何使用ant編譯NSIS腳本?
- 6. Ant排除文件編譯java文件
- 7. 如何通過Matlab使用C++編譯器Mex編譯工具
- 8. 用ant任務編譯Groovy文件
- 9. 使用Ant編譯j2me
- 10. 使用Ant編譯Vaadin插件
- 11. 用Ant編譯SQLJ
- 12. 如何根據使用Jamfile的工具集將cpp文件編譯爲objective-C++?
- 13. 使用通用Java工具/ api瀏覽XSD和XML文件
- 14. 合併多個xsd文件的工具
- 15. 使用ant編譯在java中讀取靜態文件
- 16. ant編譯錯誤,主要是使用webdriver文件。
- 17. 如何使用Ant包含編譯類的非java資源文件
- 18. 編譯器如何使用lib文件?
- 19. 如何使用maven編譯atl文件
- 20. 如何使用Android.mk編譯Cmake文件?
- 21. 如何使用cmake編譯.fx文件
- 22. 如何使用C++編譯.java文件
- 23. Ant如何編譯Java源代碼文件?
- 24. 使用Go工具編譯Protobuf
- 25. 我可以使用什麼工具合併wsdl和xsd文件?
- 26. 如何編譯Google Courgette工具?
- 27. 如何獲取或編譯flex工具?
- 28. 如何編譯ARM EABI工具鏈?
- 29. 反編譯aspx使用預編譯工具生成的頁面
- 30. 編譯在VS 2013使用的編譯工具V90錯誤
HI,感謝您的支持。據該鏈接我放在了taskdef在build.xml.I得到了我的項目erors對於一些封裝級代碼bcoz Java對象不是found.I編碼使用maven everythg所以現在試圖轉換爲ANT項目結構。下一步我必須放置ant xjc任務。然後如何編譯只有xsd才能生成java對象。 – user3040633
你可以在很多地方放置taskdef,但最好的地方就在你的xjc任務之前。因此,例如,您有一個名爲xjc.target的目標。在這個目標中你放上taskdef,然後把xjc任務和javac。 (檢查我的答案編輯#1) – skyline00
<的taskdef名稱= 「XJC」 類名= 「com.sun.tools.xjc.XJCTask」> \t \t <文件集DIR = 「LIB」 包括= 「*。罐子」/ > \t \t \t \t \t <架構DIR =「模式「includes =」*。xsd「/> \t \t \t 我在build.xml文件中使用過這樣的內容。使用ANTits在下面的行中拋出錯誤,在cmd提示符下進行編譯 –
user3040633