Ok this is not a question, but rather something i hope others find helpful.
I spent a full day getting SmartClient working in my Maven 2 project, and I found it way more difficult than it should have been. That's because the server side still uses old-school jar files and dependency management.
Attached is a working POM that contains the dependencies you need to get smartclient server side stuff ( including JPA ) working.
You'll see in the pom that it was necessary to install isomorphic stuff into our repository.
[RANT]
!!!!Attention ISC admins!!!-- for almost $2k per developer, i expect easy, fast maven integration from an enterprise product. If you guys were to create a maven repo ( authenticated, of course, to protect these assets since they are proprietary ), it would have made the setup process 1 hour instead of 10-- not to mention i wouldn't have to be trying to work out dependencies when you guys are already solving that!
[/RANT]
Anyway if you add this pom ( and the isomorphic jars ) into the your maven repo, then you can get all of the necessary jars by just including this single maven dependency.
Next i'm working on a maven war file overlay, so that with one other dependency you get all of the static webcontent too.
Enjoy!
I spent a full day getting SmartClient working in my Maven 2 project, and I found it way more difficult than it should have been. That's because the server side still uses old-school jar files and dependency management.
Attached is a working POM that contains the dependencies you need to get smartclient server side stuff ( including JPA ) working.
You'll see in the pom that it was necessary to install isomorphic stuff into our repository.
[RANT]
!!!!Attention ISC admins!!!-- for almost $2k per developer, i expect easy, fast maven integration from an enterprise product. If you guys were to create a maven repo ( authenticated, of course, to protect these assets since they are proprietary ), it would have made the setup process 1 hour instead of 10-- not to mention i wouldn't have to be trying to work out dependencies when you guys are already solving that!
[/RANT]
Anyway if you add this pom ( and the isomorphic jars ) into the your maven repo, then you can get all of the necessary jars by just including this single maven dependency.
Next i'm working on a maven war file overlay, so that with one other dependency you get all of the static webcontent too.
Enjoy!
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.5</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> <dependency> <groupId>isomorphic</groupId> <artifactId>isomorphic_jpa</artifactId> <version>9.0</version> </dependency> <!-- Weird isomorphic versions of libraries --> <dependency> <groupId>isomorphic</groupId> <artifactId>isc-jakarta-oro</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.17</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>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>
Comment