我有一组不兼容JAXB但与XMLBeans兼容的模式。
根据XMLBeans的文档,我可以使用scomp
来编译我的模式。但我无法在任何地方找到此工具或在其版本上找到文档。
我可以使用maven插件来编译我的架构,但它依赖于旧版本的XMLBean(2.4而不是2.6)。
有没有人通过使用2.4而不是2.6来编译我的模式,并且如果我可以使用具有2.6依赖性的编译类(它是向后兼容的 - 它似乎是?)知道我错过了什么功能/ bug。 )
我的问题是scomp实用程序在哪里?
答案 0 :(得分:0)
我创建了这个BATCH来自动化这个过程。希望它有所帮助!
(在XMLBeans 2.6中你只需要xbean.jar)
@echo off
echo ***
echo * https://xmlbeans.apache.org/docs/2.0.0/guide/tools.html
echo ***
setlocal
SET SOURCE=
if exist %1.xsd SET SOURCE=%1.xsd
if exist %1.wsdl SET SOURCE=%1.wsdl
if not "%SOURCE%"=="" goto JAVA
echo USAGE: COMP XSD/WSDL FILENAME
goto END
:JAVA
if exist "%JAVA_HOME%\bin\javac.exe" goto XMLBEANS
echo JAVA SDK NOT FOUND! PLEASE configure JAVA_HOME
echo %JAVA_HOME%
goto END
:XMLBEANS
SET BEANS_HOME=.
SET BEANS_SRC=%BEANS_HOME%\src
SET BEANS_JAR=%BEANS_HOME%\jars
SET BEANS_LIB=%BEANS_HOME%\lib-2.6
SET BEANS_CP=%BEANS_LIB%\xbean.jar
echo JAVA HOME @ %JAVA_HOME%
echo BEANS HOME @ %BEANS_HOME%
echo BEANS SRC @ %BEANS_SRC%
echo BEANS JAR @ %BEANS_JAR%
echo BEANS LIB @ %BEANS_LIB%
echo BEANS CP @ %BEANS_CP%
if exist %BEANS_LIB% goto COMPILE
echo XMLBEANS LIB NOT FOUND @ %BEANS_LIB%
goto END
:COMPILE
SET JAVA=%JAVA_HOME%\bin\java.exe
SET JAVAC=%JAVA_HOME%\bin\javac.exe
echo ***COMPILING*** %SOURCE%
if not exist %1.xsdconfig goto WITHOUT_CONFIG
"%JAVA%" -classpath %BEANS_CP% org.apache.xmlbeans.impl.tool.SchemaCompiler -src %BEANS_SRC% -out %BEANS_JAR%\%1.jar %SOURCE% %1.xsdconfig -compiler "%JAVAC%" -javasource "1.5"
goto END
:WITHOUT_CONFIG
echo %1.xsdconfig NOT FOUND! Compiling without xsdconfig
"%JAVA%" -classpath %BEANS_CP% org.apache.xmlbeans.impl.tool.SchemaCompiler -src %BEANS_SRC% -out %BEANS_JAR%\%1.jar %SOURCE% -compiler "%JAVAC%" -javasource "1.5"
:END