Hi, thanks..
Here's what i ended up doing. I'd be happy to share if isomorphic would create a 'supported version':
* installed the main isomorphic jars in my own nexus instance as version 9.0
* created a smartclient pom that lists these, plus their dependencies according to the "Deploying SmartClient" documentation.
These are complete. What's left to do is to create a maven war overlay that will bring in the static resources, taglib, and server.properties. This will make it possible for a standard maven webapp to include two dependencies that will then get all of the smartclient stuff on the server.
the only troublespot will be web.xml, which has to be merged manually.
My concern is that it was not trivial to select the correct version of dependencies-- and it took me a few hours to get these poms together. it would be nice if everyone using the server framework+maven doesnt have to repeat that-- especially since only isomorphic would know which dependencies are ok.
I have put the pom i came up with below.
Code:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>isomorphic</groupId> <artifactId>smartclient</artifactId> <packaging>pom</packaging> <version>9.1</version> <name>SmartClient Server Side Dependencies</name> <url>http://www.smartclient.com</url> <dependencies> <!-- smart client core jars stored in our own repo --> <dependency> <groupId>isomorphic</groupId> <artifactId>core_rpc</artifactId> <version>9.0</version> </dependency> <dependency> <groupId>isomorphic</groupId> <artifactId>js_parser</artifactId> <version>9.0</version> </dependency> <dependency> <groupId>isomorphic</groupId> <artifactId>realtime_messaging</artifactId> <version>9.0</version> </dependency> <dependency> <groupId>isomorphic</groupId> <artifactId>assembly</artifactId> <version>9.0</version> </dependency> <dependency> <groupId>isomorphic</groupId> <artifactId>compression</artifactId> <version>9.0</version> </dependency> <!-- transitive deps of smartclient. Why oh wy dont they provide this? see SmartClient Reference, Deploying Smartclient :: Java Module Dependencies These are not all of the dependencies or options, just the ones that came with the samples. These are documented above but not in this list: isomorphic_autotest isomorphic_obfuscation isomorphic_struts isomorphic_sql isomorphic_tools isomorphic_web_services isomorphic_spring isomorphic_examples --> <!-- required dependencies of core_rpc --> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.8</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>1.6</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> </dependency> <dependency> <groupId>commons-jxpath</groupId> <artifactId>commons-jxpath</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>commons-vfs</groupId> <artifactId>commons-vfs</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant-apache-oro</artifactId> <version>1.9.2</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> </dependency> <!-- optional dependencies of core_rpc --> <!-- for mail notifications feature --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.9</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.9</version> </dependency> <dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>jaxb</groupId> <artifactId>jsr173_api</artifactId> <version>1.0</version> </dependency> </dependencies> </project>
Leave a comment: