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>
    	                        	<id>install-${sos.js7.commons.exception.artifactId}</id>
    	                        	<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

...