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>