A quick clarification: If I checkout VERSION_0_28_1, change line 12 of the "argouml/build.xml" file as I mentioned, then run "build" and "build update-argouml.jar-manifest" the resultant build can correctly open projects with sequence diagrams! That's good.
However, if I checkout VERSION_0_30, change the build file, and run "build" and "build update-argouml.jar-manifest" the newer build cannot open any projects created with the older ArgoUML version, failing with a org.xml.sax.SAXException: Plugin profile "Java" is not available in installation error. Attached is the trace it provided, and the exact commands I used to build. Meanwhile, the Web Start of 0.30 from the official website can correctly open these projects made by an older version of the program. So the problem I'm experiencing now may be a different problem. -Nathaniel Kofalt On 5/6/2010 4:38 AM, Nathaniel Kofalt wrote: > Hello Linus, > Maybe I'm missing something obvious - I used the build batch in > the location you described using these exact commands: > > svn checkout > http://argouml.tigris.org/svn/argouml/releases/VERSION_0_30/ argouml > --username guest > cd argouml > build > build.bat update-argouml.jar-manifest > > The first build target worked fine, creating a project in > "argouml\src\argouml-build\build". > However the second target gave a different build error this time > (censored the file paths outside the SVN checkout): > BUILD FAILED > ....\argouml\build.xml:74: .....\argouml\build not found. > > It looks like this doesn't have the right configuration for this > folder. I tried adding a "build" folder in the "argouml" root which > didn't do anything, just created a 1 KB jar file in the new folder. > However changing line 12 (the build.dir value) from: > <property name="build.dir" value="build"/> > to : > <property name="build.dir" value="src/argouml-build/build"/> > > Made it change the argouml jar, though the built project still doesn't > work correctly. Was this a mistake in the makefile, or could I have > built it properly with another method? > > -Nathaniel Kofalt > > On 5/6/2010 12:12 AM, Linus Tolke Tigris wrote: >> Hello Nathaniel! >> >> It is in on the "top" level, i.e. the integration level where the >> separate modules are integrated. You can find it here: >> http://argouml.tigris.org/source/browse/argouml/trunk/build.xml?annotate=17806#id64 >> http://argouml.tigris.org/source/browse/argouml/releases/VERSION_0_28_1/build.xml?annotate=17806#id64 >> or >> http://argouml.tigris.org/source/browse/argouml/releases/VERSION_0_30/build.xml?annotate=17806#id64 >> respectively. That means two levels up from the build.xml in the >> argouml-build directory. >> >> /Linus >> >> >> On Thu, May 6, 2010 at 12:01 AM, Nathaniel Kofalt <[email protected] >> <mailto:[email protected]>> wrote: >> >> Hello Linus, thank you for your reply! >> Sorry I took awhile to get back to you. Your explanation >> makes sense, but when attempting your method on VERSION_0_28_1 or >> the newer VERSION_0_30 checkouts, I get the following error when >> running that last target: >> >> Target "update-argouml.jar-manifest" does not exist in the >> project "argouml". >> >> I tried this in the argouml\src\argouml-build and a few other >> locations, as there seems to be a lot of build scripts lying >> around that call each other. Where exactly did you run this target? >> >> Nathaniel Kofalt >> >> >> >> On 4/29/2010 4:48 PM, Linus Tolke Tigris wrote: >>> Hello Nathaniel! >>> >>> You have found a weakness in the loading mechanism and that is >>> that it relies on all the fact that all diagrams to be loaded >>> are on the class path. When you build as you describe the >>> argouml.jar is created without including them in the >>> Class-Path:-entry in the manifest. >>> >>> To fix, you can use the same function that we use when doing >>> releases. >>> >>> Build like this: >>> svn checkout >>> http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/ >>> <http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/src> >>> argouml >>> Apply the diff >>> Build with "./build.sh install" or "build.bat install" >>> (in the argouml directory). >>> Newly-built project appears in "argouml\build" >>> Include the modules on the class path in the argouml.jar >>> using "./build.sh update-argouml.jar-manifest" or "build.bat >>> update-argouml.jar-manifest". >>> >>> The update-argouml.jar-manifest target adds all available >>> modules to the class path. When doing releases, all modules are >>> first built, ending up in argouml\build\ext and then the >>> update-argouml.jar-manifest target is run to create the >>> argouml.jar that is distributed. This magic is located in >>> build.xml on the top level, a file that you didn't see when just >>> checking out src and tools. >>> >>> To conclude, the problem is not with running in batch mode or >>> commands. It is in the way you start argouml without the correct >>> class path. >>> >>> If you don't want to use this magic you could set the classpath >>> explicitly to java or edit the manifest file in the argouml.jar >>> file you have created and add ext/argouml-diagrams-sequence.jar >>> to the Class-Path: entry. >>> >>> /Linus >>> >>> >>> >>> On Mon, Apr 26, 2010 at 8:17 AM, Nathaniel Kofalt >>> <[email protected] <mailto:[email protected]>> wrote: >>> >>> Hello all! >>> >>> We use a custom ArgoUML build (currently of 0.28.1) - >>> essentially >>> just a minor change by "thn" (revision 17025, see link >>> below) that makes >>> it possible to save all graphics from the command-line. >>> Combined with a >>> simple commit script, and now we have a SVN repository of >>> ArgoUML >>> projects that automatically generate pictures of themselves >>> into a >>> folder, which gets served over Apache. This allows us to have a >>> browser-viewable set of images always showing the latest >>> revision of the >>> UML. This is very convenient for our team, and our main >>> reason for using >>> ArgoUML. >>> >>> The command we use is pretty vanilla, just open the >>> project and >>> export all in batch mode (put in your own locations at the >>> ... marks): >>> java -jar ...argouml.jar -batch -command >>> "org.argouml.uml.ui.ActionOpenProject=....example.zargo" >>> -command >>> "org.argouml.uml.ui.ActionSaveAllGraphics=..../exampleEmptyFolder" >>> >>> And this works perfectly in most cases. However, any >>> project with a >>> Sequence diagram causes this exception: >>> org.argouml.persistence.OpenException: >>> java.lang.ClassNotFoundException: >>> org.argouml.sequence2.diagram.UMLSequenceDiagram >>> (plus a lengthy stack traced, attached to this email). >>> >>> Replicating this error is pretty easy: >>> svn checkout >>> http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/src >>> argouml/src --username guest >>> svn checkout >>> http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/tools >>> argouml/tools --username guest >>> Apply the diff linked below (one file), easy enough >>> to do manually >>> Build project with >>> "argouml\src\argouml-build\build.sh" or >>> similar "build.bat" >>> Newly-built project appears in >>> "argouml\src\argouml-build\build" >>> Use the java command above on any ArgoUML project >>> without a >>> Sequence diagram to see it generate PNG images for each diagram >>> Use the java command above on any ArgoUML project with a >>> Sequence diagram to see it fail >>> >>> The diff link: >>> >>> http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSaveAllGraphics.java?view=diff&r1=17024&r2=17025&pathrev=17025&diff_format=l >>> >>> <http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSaveAllGraphics.java?view=diff&r1=17024&r2=17025&pathrev=17025&diff_format=l> >>> >>> This seems strange, since presumably the only difference >>> from the >>> official releases is that tiny feature added (like 30 >>> lines). To confuse >>> matters, the class source it can't find >>> (org.argouml.sequence2.diagram.UMLSequenceDiagram) clearly >>> exists in the >>> checkouts we build from (in the >>> >>> "argouml\src\argouml-core-diagrams-sequence2\src\org\argouml\sequence2\diagram" >>> folder). >>> >>> For convenience I also attached the exact modified file, >>> >>> "argouml\src\argouml-app\src\org\argouml\uml\ui\ActionSaveAllGraphics.java" >>> so you don't have to apply the diff manually. I am familiar >>> with Java, >>> but I'm confused since opening the project in GUI mode >>> produces the same >>> error, yet in the official builds I can open the project >>> just fine. Am I >>> doing some portion of the build process wrong? >>> >>> Any help is appreciated! >>> >>> Nathaniel Kofalt >>> >>> ------------------------------------------------------ >>> >>> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2595638 >>> >>> <http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2595638> >>> >>> To unsubscribe from this discussion, e-mail: >>> [[email protected] >>> <mailto:[email protected]>]. >>> >>> >> >> ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2604132 To unsubscribe from this discussion, e-mail: [[email protected]].
Error opening file : example.zargo System Info: ArgoUML version : 0.30 Java Version : 1.6.0_20 Java Vendor : Sun Microsystems Inc. Java Vendor URL : http://java.sun.com/ Java Home Directory : C:\Program Files (x86)\Java\jdk1.6.0_20\jre Java Classpath : argouml.jar Operation System : Windows 7, Version 6.1 Architecture : x86 User Name : Pragmatic User Home Directory : C:\Users\Pragmatic Current Directory : .....\argouml\src\argouml-build\build JVM Total Memory : 64880640 JVM Free Memory : 53868760 Error occurred at : Thu May 06 05:09:49 CDT 2010 Cause : org.xml.sax.SAXException: Plugin profile "Java" is not available in installation. at org.argouml.persistence.ProfileConfigurationParser.handleEndElement(ProfileConfigurationFilePersister.java:385) at org.argouml.persistence.SAXParserBase.endElement(SAXParserBase.java:261) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) at org.argouml.persistence.SAXParserBase.parse(SAXParserBase.java:160) at org.argouml.persistence.ProfileConfigurationFilePersister.load(ProfileConfigurationFilePersister.java:102) at org.argouml.persistence.UmlFilePersister.doLoad(UmlFilePersister.java:378) at org.argouml.persistence.ZargoFilePersister.doLoad(ZargoFilePersister.java:260) at org.argouml.ui.ProjectBrowser.loadProject(ProjectBrowser.java:1597) at org.argouml.ui.LoadSwingWorker.construct(LoadSwingWorker.java:89) at org.argouml.ui.SwingWorker.doConstruct(SwingWorker.java:153) at org.argouml.ui.SwingWorker$2.run(SwingWorker.java:281) at java.lang.Thread.run(Thread.java:619) Caused by: org.xml.sax.SAXException: Plugin profile "Java" is not available in installation. at org.argouml.persistence.ProfileConfigurationParser.lookupProfile(ProfileConfigurationFilePersister.java:418) at org.argouml.persistence.ProfileConfigurationParser.handlePluginEnd(ProfileConfigurationFilePersister.java:397) at org.argouml.persistence.ProfileConfigurationParser.handleEndElement(ProfileConfigurationFilePersister.java:368) ... 21 more ------- Full exception : org.argouml.persistence.OpenException: org.xml.sax.SAXException: Plugin profile "Java" is not available in installation. at org.argouml.persistence.ProfileConfigurationFilePersister.load(ProfileConfigurationFilePersister.java:117) at org.argouml.persistence.UmlFilePersister.doLoad(UmlFilePersister.java:378) at org.argouml.persistence.ZargoFilePersister.doLoad(ZargoFilePersister.java:260) at org.argouml.ui.ProjectBrowser.loadProject(ProjectBrowser.java:1597) at org.argouml.ui.LoadSwingWorker.construct(LoadSwingWorker.java:89) at org.argouml.ui.SwingWorker.doConstruct(SwingWorker.java:153) at org.argouml.ui.SwingWorker$2.run(SwingWorker.java:281) at java.lang.Thread.run(Thread.java:619) Caused by: org.xml.sax.SAXException: Plugin profile "Java" is not available in installation. at org.argouml.persistence.ProfileConfigurationParser.handleEndElement(ProfileConfigurationFilePersister.java:385) at org.argouml.persistence.SAXParserBase.endElement(SAXParserBase.java:261) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) at org.argouml.persistence.SAXParserBase.parse(SAXParserBase.java:160) at org.argouml.persistence.ProfileConfigurationFilePersister.load(ProfileConfigurationFilePersister.java:102) ... 7 more Caused by: org.xml.sax.SAXException: Plugin profile "Java" is not available in installation. at org.argouml.persistence.ProfileConfigurationParser.lookupProfile(ProfileConfigurationFilePersister.java:418) at org.argouml.persistence.ProfileConfigurationParser.handlePluginEnd(ProfileConfigurationFilePersister.java:397) at org.argouml.persistence.ProfileConfigurationParser.handleEndElement(ProfileConfigurationFilePersister.java:368) ... 21 more org.xml.sax.SAXException: Plugin profile "Java" is not available in installation. at org.argouml.persistence.ProfileConfigurationParser.lookupProfile(ProfileConfigurationFilePersister.java:418) at org.argouml.persistence.ProfileConfigurationParser.handlePluginEnd(ProfileConfigurationFilePersister.java:397) at org.argouml.persistence.ProfileConfigurationParser.handleEndElement(ProfileConfigurationFilePersister.java:368) at org.argouml.persistence.SAXParserBase.endElement(SAXParserBase.java:261) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) at org.argouml.persistence.SAXParserBase.parse(SAXParserBase.java:160) at org.argouml.persistence.ProfileConfigurationFilePersister.load(ProfileConfigurationFilePersister.java:102) at org.argouml.persistence.UmlFilePersister.doLoad(UmlFilePersister.java:378) at org.argouml.persistence.ZargoFilePersister.doLoad(ZargoFilePersister.java:260) at org.argouml.ui.ProjectBrowser.loadProject(ProjectBrowser.java:1597) at org.argouml.ui.LoadSwingWorker.construct(LoadSwingWorker.java:89) at org.argouml.ui.SwingWorker.doConstruct(SwingWorker.java:153) at org.argouml.ui.SwingWorker$2.run(SwingWorker.java:281) at java.lang.Thread.run(Thread.java:619)
THIS WILL WORK: svn checkout http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/ argouml --username guest ...edit line 12 of build.xml to be " <property name="build.dir" value="src/argouml-build/build"/>" cd argouml build build update-argouml.jar-manifest ...use it to open some project created in 0.28.1 with sequence diagrams THIS WILL NOT WORK: svn checkout http://argouml.tigris.org/svn/argouml/releases/VERSION_0_30/ argouml --username guest ...edit line 12 of build.xml to be " <property name="build.dir" value="src/argouml-build/build"/>" cd argouml build build update-argouml.jar-manifest ...use it to open ANY project created in 0.28.1, even withOUT sequence diagrams (causes a org.xml.sax.SAXException)
