Thank you Andreas for your great and patient help.

Using maven, I am now able to generate the sources and build a module
out of it. I install it ito my local maven repository.

I can use that module in a Java application program by referring to the
namespace of the xml schema from the module-info.java file and from a
dependency in the pom.xml.

One key to success - as I understood it - is the maven build-helper-maven-plugin. It makes the TypeSystemHolder class available for satisfying the needs of the generated classes. TypeSystemHolder.class is generated as a binary class while all others come as source code. I wonder whether it would be possible to get TypeSystemHolder in source as well, somehow in the namespace of the generated classes. Or as a jar module that can be placed in local maven repository, referenced via usual dependency in pom.xml. The helper plugin could be omitted in that case.

And: do I need those other generated-resources - the *.xsb files - after generation?

But these are questions for the future to come. The current solution solved my task at hand.

Kind Regards


Rolf

On 10/27/20 8:28 PM, Andreas Beeker wrote:
Hi Rolf,

frankly said, I haven't tested any of the shell scripts, as I was happy that the modifications for JPMS worked ok with POI. Therefore I recommend to call the SchemaCompiler directly and use the srconly option. If you look at the ooxml-schema maven pom, you'll see the parameters to be given: https://svn.apache.org/viewvc/poi/trunk/sonar/ooxml-schema/pom.xml?view=markup#l71

I've also added some JPMS information to the user guide:
http://xmlbeans.apache.org/guide/JPMS.html

We haven't discussed this yet, but I rather would remove all the shell scripts and put the effort in fixing the maven plugin.

Sorry to maybe disappoint you - currently there's even less XmlBeans community than POI community and we actually are in dare need of testers :S ... but having that big chunk of JPMS migration after us, I hope for faster releases now.

Andi


SchemaCompiler options:
Compiles a schema into XML Bean classes and metadata.
Usage: java -cp xmlbeans-4.0.0.jar org.apache.xmlbeans.impl.tool.SchemaCompiler [opts] [dirs]* [schema.xsd]* [service.wsdl]* [config.xsdconfig]*
Options include:
    -cp [a;b;c] - classpath
    -d [dir] - target binary directory for .class and .xsb files
    -src [dir] - target directory for generated .java files
    -srconly - do not compile .java files or jar the output.
    -out [xmltypes.jar] - the name of the output jar
    -name - the name of the schema type - defaults to autogenerated name
    -dl - permit network downloads for imports and includes (default is off)
    -noupa - do not enforce the unique particle attribution rule
    -nopvr - do not enforce the particle valid (restriction) rule
    -noann - ignore annotations
    -novdoc - do not validate contents of <documentation>
    -noext - ignore all extension (Pre/Post and Interface) found in .xsdconfig files
    -compiler - path to external java compiler
    -ms - initial memory for external java compiler (default '8m')
    -mx - maximum memory for external java compiler (default '256m')
    -debug - compile with debug symbols
    -quiet - print fewer informational messages
    -verbose - print more informational messages
    -version - prints version information
    -license - prints license information
    -allowmdef \"[ns] [ns] [ns]\" - ignores multiple defs in given namespaces (use ##local for no-namespace)     -catalog [file] -  catalog file for org.apache.xml.resolver.tools.CatalogResolver. (Note: needs resolver.jar from http://xml.apache.org/commons/components/resolver/index.html)



On 27.10.20 19:03, Rolf Schumacher wrote:
let me extend to be clear:

regardless what I am doing scomp claims that javac is not available in the current directory. But why does scomp try to find javac there? It shall locate it along the %PATH%.

I also tried a javac.bat in the current directory executing javac from its bin\javac location. Does not help.

How to run scomp?


On 10/27/20 5:36 PM, Rolf Schumacher wrote:
tried to use scomp.

xmlbeans-4.0.0\bin is on the path as well as jdk-11.0.8\bin.

when starting scomp from the commandline it cannot find javac:


C:\Users\rschumacher\eclipse-jee-workspace\manager>scomp -out target\ManagerConfiguration.jar src\main\xsd\ManagerConfiguration.xsd
Time to build schema type system: 0.412 seconds
Time to generate code: 0.351 seconds
java.io.IOException: Cannot run program "C:\Users\rschumacher\eclipse-jee-workspace\manager\javac": CreateProcess error=2, The system cannot find the file specified java.io.IOException: CreateProcess error=2, The system cannot find the file specified java.io.IOException: Cannot run program "C:\Users\rschumacher\eclipse-jee-workspace\manager\javac": CreateProcess error=2, The system cannot find the file specified
        at java.lang.ProcessBuilder.start(Unknown Source)
        at java.lang.Runtime.exec(Unknown Source)
        at java.lang.Runtime.exec(Unknown Source)
        at org.apache.xmlbeans.impl.tool.CodeGenUtil.externalCompile(CodeGenUtil.java:195)         at org.apache.xmlbeans.impl.tool.CodeGenUtil.externalCompile(CodeGenUtil.java:93)         at org.apache.xmlbeans.impl.tool.SchemaCompiler.compile(SchemaCompiler.java:1000)         at org.apache.xmlbeans.impl.tool.SchemaCompiler.main(SchemaCompiler.java:333) Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        ... 7 more
BUILD FAILED


What may have cause this?




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to