On 6/29/2010 10:49 PM, Philip Ogren wrote: > It turns out that the main method of org.apache.uima.tools.jcasgen.Jg > was, in version 2.2.2, a single line of code which called a method > called main0. In version 2.3.0 there are two lines of code - the > second is a call to System.exit.
This line was added under https://issues.apache.org/jira/browse/UIMA-853 where users were complaining that shell scripts that ran JcasGen didn't get notified if the run failed. I wonder if there's a better way to solve this Jira that doesn't have this other side effect - any ideas? -Marshall > This was the source of my problems and explains (sort of) why eclipse > was actually crashing silently when I updated the dependency on uima > in my pom.xml file to version 2.3.0. > > My workaround is to simply introduce a local class whose main method > only has the one line of code and I call that class instead. > > Ramon, thanks again for the pom.xml snippet. We actually use the > execution phase "process-resources" or "process-test-resources" > depending on the scenario and that seems to work fine for us. > > Philip > > > On 6/18/2010 2:50 PM, Philip Ogren wrote: >> Hi, >> >> We have been using a snippet for our pom.xml file pretty much exactly >> like the one below to run JCasGen on our type system descriptor >> before compilation. When I switched to 2.3.0 this doesn't work >> anymore. For example, when I run "mvn test", JCasGen will generate >> the files but then maven just exits without an error message and >> without running the tests. If I remove this block of xml from the >> pom, then everything works fine. >> >> Any thoughts about how I would go about fixing this? Or, does anyone >> have another snippet of xml I could insert into my pom.xml to get the >> same behavior? >> >> Thanks, >> Philip >> >> On 7/6/2009 7:58 AM, Ramon Ziai wrote: >>> Hi, >>> >>> just as a follow-up to this, I found a solution to this that works for >>> me. Here's the relevant POM snippet, in the hope that it will be useful >>> for others: >>> >>> [...] >>> <plugin> >>> <groupId>org.codehaus.mojo</groupId> >>> <artifactId>exec-maven-plugin</artifactId> >>> <version>1.1</version> >>> <executions> >>> <execution> >>> <phase>validate</phase> >>> <goals> >>> <goal>java</goal> >>> </goals> >>> </execution> >>> </executions> >>> <configuration> >>> <mainClass>org.apache.uima.tools.jcasgen.Jg</mainClass> >>> <arguments> >>> <argument>-jcasgeninput</argument> >>> <argument>desc/yourTypeSystem.xml</argument> >>> <argument>-jcasgenoutput</argument> >>> <argument>src/main/java</argument> >>> </arguments> >>> </configuration> >>> </plugin> >>> [...] >>> >>> This will run JCasGen prior to the compile phase, ensuring that build >>> dependencies are satisfied. JCasGen is run without the merge >>> capability, >>> so manual changes to the generated Java files will be lost. >>> >>> Best, >>> Ramon >>> >>> Александър Л. Димитров schrieb: >>>> Hello, >>>> >>>> I'm currently working on a distributed project involving UIMA. At >>>> this stage, >>>> sometimes modifications to the UIMA descriptor files are absolutely >>>> necessary >>>> and, unfortunately, this confuses our VCS. Whenever JCasGen is run >>>> from within >>>> Eclipse or similar, it updates *all* generated class files, which >>>> leads the VCS >>>> to treating them as new commits. The problem here is, when editing the >>>> descriptors on different branches, while the merging of the >>>> descriptor files >>>> goes well most of the time, the merging of the class files fails >>>> most of the >>>> time. This leaves the merger with several dozen conflicts. >>>> >>>> The current policy is to then just delete those files and run >>>> JCasGen on the >>>> merged branch. Of course, the actual problem here is, that one >>>> shouldn't really >>>> track those files in the first place. >>>> >>>> But the matter is slightly more delicate. After checking out the >>>> project from >>>> version control, the project should be readily compilable, without >>>> further >>>> setup. That's why we're using Maven to fetch all dependencies and >>>> automate the >>>> build process. Without having these files in source control, they >>>> have to be >>>> generated first. >>>> >>>> So the real question is: is there any way to run a JCasGen from >>>> within the Maven >>>> build? Probably a plugin? Of course, one could just spawn a process >>>> to call >>>> org.apache.uima.tools.jcasgen.Jg, but I wanted to ask if such a >>>> thing already >>>> existed. >>>> >>>> Thanks, >>>> Aleks >> >> >> >> No virus found in this incoming message. >> Checked by AVG - www.avg.com >> Version: 9.0.829 / Virus Database: 271.1.1/2946 - Release Date: >> 06/18/10 00:35:00 >> >> >
