Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The directory sos has to be created



  • The following .jar files have to be copied from a JS7 Agent installation ./lib/sos directory to the sos directory of the Maven project. The example makes use of release 2.6.1, users should check for a current release.
    • com.sos-berlin.js7.engine.js7-base-2.6.1.jar
    • com.sos-berlin.js7.engine.js7-data-for-java-2.6.1.jar
    • com.sos-berlin.js7.engine.js7-launcher-for-java-2.6.1.jar
    • sos-commons-exception-2.6.1.jar
    • sos-commons-util-2.6.1.jar
    • sos-js7-job-2.6.1.jar
  • The following pom.xml file can be used as a base in the Maven project.

    Code Block
    languagexml
    titlepom.xml
    collapsetrue
    <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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>com.sos-berlin</groupId>
    	<artifactId>my-js7-jobs</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    
    	<properties>
    		<!-- release version of js7 jars -->
      		<sos.js7.version>2.6.1</sos.js7.version>
      		<!-- 3rd party versions -->
      		<scala.library.version>2.13.11</scala.library.version>
      		<slf4j.version>1.7.36</slf4j.version>
      		<io.vavr.version>0.10.4</io.vavr.version>
      		
      		<!-- groupId and artifactIds of js7 jars -->
      		<sos.js7.groupId>com.sos-berlin</sos.js7.groupId>
      		<sos.js7.job.artifactId>sos-js7-job</sos.js7.job.artifactId>
      		<sos.js7.commons.util.artifactId>sos-commons-util</sos.js7.commons.util.artifactId>
      		<sos.js7.commons.exception.artifactId>sos-commons-exception</sos.js7.commons.exception.artifactId>
      		
      		<sos.js7.engine.groupId>com.sos-berlin.js7.engine</sos.js7.engine.groupId>
      		<sos.js7.launcher.artifactId>js7-launcher-for-java</sos.js7.launcher.artifactId>
      		<sos.js7.data.artifactId>js7-data-for-java</sos.js7.data.artifactId>
      		<sos.js7.base.artifactId>js7-base</sos.js7.base.artifactId>
      		
      		<!-- directories with js7 jars to install the local project repository -->
      		<sos.js7.external.srcdir>${project.basedir}/sos</sos.js7.external.srcdir>
      		<!-- directory of local project repository  -->
    	</properties>
    	
    	<repositories>
    		<!-- public repository for 3rd party jars -->
    		<repository>
    			<id>central</id>
    			<name>Central Repository</name>
    			<url>https://repo1.maven.org/maven2</url>
    			<snapshots>
    				<enabled>false</enabled>
    				<updatePolicy>never</updatePolicy>
    			</snapshots>
    		</repository>
    	</repositories>
    	
    	<dependencies>
      		<dependency>
    			<groupId>${sos.js7.engine.groupId}</groupId>
    			<artifactId>${sos.js7.launcher.artifactId}</artifactId>
    			<version>${sos.js7.version}</version>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>${sos.js7.engine.groupId}</groupId>
    			<artifactId>${sos.js7.data.artifactId}</artifactId>
    			<version>${sos.js7.version}</version>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>${sos.js7.engine.groupId}</groupId>
    			<artifactId>${sos.js7.base.artifactId}</artifactId>
    			<version>${sos.js7.version}</version>
    			<scope>provided</scope>
    		</dependency>
    		
    		<dependency>
    			<groupId>${sos.js7.groupId}</groupId>
    			<artifactId>${sos.js7.job.artifactId}</artifactId>
    			<version>${sos.js7.version}</version>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>${sos.js7.groupId}</groupId>
    			<artifactId>${sos.js7.commons.util.artifactId}</artifactId>
    			<version>${sos.js7.version}</version>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>${sos.js7.groupId}</groupId>
    			<artifactId>${sos.js7.commons.exception.artifactId}</artifactId>
    			<version>${sos.js7.version}</version>
    			<scope>provided</scope>
    		</dependency>
    		
    		<!-- 3rd Party -->
    		<dependency>
    			<groupId>org.scala-lang</groupId>
    			<artifactId>scala-library</artifactId>
    			<version>${scala.library.version}</version>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>io.vavr</groupId>
    			<artifactId>vavr</artifactId>
            	<version>${io.vavr.version}</version>
    			<scope>provided</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-api</artifactId>
    			<version>${slf4j.version}</version>
    			<scope>provided</scope>
    		</dependency>
    	</dependencies>
    	
    	<profiles>
    		<profile>
    			<id>create-local-repo</id>
    			<build>
    				<plugins>
    					<plugin>
    	                	<artifactId>maven-install-plugin</artifactId>
    	                	<version>2.5.2</version>
    	                	<executions>
    	                    	<execution>
    	                        	<id>install-${sos.js7.launcher.artifactId}</id>
    	                        	<goals>
    	                            	<goal>install-file</goal>
    	                        	</goals>
    	                        	<phase>initialize</phase>
    	                        	<configuration>
    	                            	<file>${sos.js7.external.srcdir}/${sos.js7.engine.groupId}.${sos.js7.launcher.artifactId}-${sos.js7.version}.jar</file>
    	                            	<groupId>${sos.js7.engine.groupId}</groupId>
    									<artifactId>${sos.js7.launcher.artifactId}</artifactId>
    	                            	<version>${sos.js7.version}</version>
    	                            	<packaging>jar</packaging>
    	                            	<createChecksum>true</createChecksum>
    	                        	</configuration>
    	                    	</execution>
    	                    	<execution>
    	                        	<id>install-${sos.js7.data.artifactId}</id>
    	                        	<goals>
    	                            	<goal>install-file</goal>
    	                        	</goals>
    	                        	<phase>initialize</phase>
    	                        	<configuration>
    	                            	<file>${sos.js7.external.srcdir}/${sos.js7.engine.groupId}.${sos.js7.data.artifactId}-${sos.js7.version}.jar</file>
    	                            	<groupId>${sos.js7.engine.groupId}</groupId>
    									<artifactId>${sos.js7.data.artifactId}</artifactId>
    	                            	<version>${sos.js7.version}</version>
    	                            	<packaging>jar</packaging>
    	                            	<createChecksum>true</createChecksum>
    	                        	</configuration>
    	                    	</execution>
    	                    	<execution>
    	                        	<id>install-${sos.js7.base.artifactId}</id>
    	                        	<goals>
    	                            	<goal>install-file</goal>
    	                        	</goals>
    	                        	<phase>initialize</phase>
    	                        	<configuration>
    	                            	<file>${sos.js7.external.srcdir}/${sos.js7.engine.groupId}.${sos.js7.base.artifactId}-${sos.js7.version}.jar</file>
    	                            	<groupId>${sos.js7.engine.groupId}</groupId>
    									<artifactId>${sos.js7.base.artifactId}</artifactId>
    	                            	<version>${sos.js7.version}</version>
    	                            	<packaging>jar</packaging>
    	                            	<createChecksum>true</createChecksum>
    	                        	</configuration>
    	                    	</execution>
    	                    	
    	                    	<execution>
    	                        	<id>install-${sos.js7.job.artifactId}</id>
    	                        	<goals>
    	                            	<goal>install-file</goal>
    	                        	</goals>
    	                        	<phase>initialize</phase>
    	                        	<configuration>
    	                            	<file>${sos.js7.external.srcdir}/${sos.js7.job.artifactId}-${sos.js7.version}.jar</file>
    	                            	<groupId>${sos.js7.groupId}</groupId>
    									<artifactId>${sos.js7.job.artifactId}</artifactId>
    	                            	<version>${sos.js7.version}</version>
    	                            	<packaging>jar</packaging>
    	                            	<createChecksum>true</createChecksum>
    	                        	</configuration>
    	                    	</execution>
    	                    	<execution>
    	                        	<id>install-${sos.js7.commons.util.artifactId}</id>
    	                        	<goals>
    	                            	<goal>install-file</goal>
    	                        	</goals>
    	                        	<phase>initialize</phase>
    	                        	<configuration>
    	                            	<file>${sos.js7.external.srcdir}/${sos.js7.commons.util.artifactId}-${sos.js7.version}.jar</file>
    	                            	<groupId>${sos.js7.groupId}</groupId>
    									<artifactId>${sos.js7.commons.util.artifactId}</artifactId>
    	                            	<version>${sos.js7.version}</version>
    	                            	<packaging>jar</packaging>
    	                            	<createChecksum>true</createChecksum>
    	                        	</configuration>
    	                    	</execution>
    	                             	<execution>
    	              
                       </executions>
                  	<id>install-${sos.js7.commons.exception.artifactId}		</id>plugin>
    	                        	<goals>
    	                            	<goal>install-file</goal>
    	                        	</goals>
    	                        	<phase>initialize</phase>
    	                        	<configuration>
    	                            	<file>${sos.js7.external.srcdir}/${sos.js7.commons.exception.artifactId}-${sos.js7.version}.jar</file>
    	                            	<groupId>${sos.js7.groupId}</groupId>
    									<artifactId>${sos.js7.commons.exception.artifactId}</artifactId>
    	                            	<version>${sos.js7.version}</version>
    	                            	<packaging>jar</packaging>
    	                            	<createChecksum>true</createChecksum>
    	                        	</configuration>
    	                    	</execution>
                    		</executions>
                		</plugin>
    				</plugins>
    			</build>
    		</profile>
    	</profiles>
    	
    	<build>
    		<pluginManagement>
    			<plugins>
    				<plugin>
    					<artifactId>maven-compiler-plugin</artifactId>
    					<version>3.10.1</version>
    					<configuration>
    						<source>1.8</source>
    						<target>1.8</target>
    						<optimize>true</optimize>
    						<showDeprecation>true</showDeprecation>
    						<showWarnings>true</showWarnings>
    					</configuration>
    				</plugin>
    			</plugins>
    		</pluginManagement>
    	</build>
    </project>
  • groupId, artifactId and version should be adjusted.
  • The pom.xml file contains a profile create-local-repo that must be executed once after copying the jar files. It updates the users local .m2 repository with the jars from the sos folder.
    Code Block
    languagepowershell
    > mvn initialize -Pcreate-local-repo -U
  • 			</plugins>
    			</build>
    		</profile>
    	</profiles>
    	
    	<build>
    		<pluginManagement>
    			<plugins>
    				<plugin>
    					<artifactId>maven-compiler-plugin</artifactId>
    					<version>3.10.1</version>
    					<configuration>
    						<source>1.8</source>
    						<target>1.8</target>
    						<optimize>true</optimize>
    						<showDeprecation>true</showDeprecation>
    						<showWarnings>true</showWarnings>
    					</configuration>
    				</plugin>
    			</plugins>
    		</pluginManagement>
    	</build>
    </project>
  • groupId, artifactId and version should be adjusted.
  • The pom.xml file contains a profile create-local-repo that must be executed once after copying the jar files. It updates the users local .m2 repository with the jars from the sos folder.

    Code Block
    languagepowershell
    > mvn initialize -Pcreate-local-repo -U

Adding other sos-berlin jar files to the repository


Using the pom.xml file

Add an execution element to the pom.xml file for each jar file that has to be added. Adjust the values for file, version and artifactId

Code Block
languagexml
<execution>
	    <id>install-${sos.js7.commons.exception.artifactId}</id>
	    <goals>
	         <goal>install-file</goal>
	    </goals>
	    <phase>initialize</phase>
	    <configuration>
	        <file>[filePath]</file>
	        <groupId>${sos.js7.groupId}</groupId>
			<artifactId>[artefactId]</artifactId>
	        <version>${sos.js7.version}</version>
	        <packaging>jar</packaging>
	        <createChecksum>true</createChecksum>
	   </configuration>
</execution>


Using  command line

Open a command shell and call 

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

Example:
mvn install:install-file -Dfile=/sos/sos-commons-httpclient-2.5.5.jar -DgroupId=com.sos-berlin -DartifactId=sos-commons-httpclient -Dversion=2.5.5 -Dpackaging=jar

Further Resources

Features

...