Java Classpath ohne Wildcards

Im Verzeichnis liegen Jar-Archive, deren Name eine Versionsnummern enthält. Eine Bat-Datei soll die verschiedene Archive unabhängig von der Version zum Classpath hinzufügen.

@ECHO OFF
SET MEINE_JARS=
FOR /r %%A IN (*.jar) DO (
    SET MEINE_JARS=%%A;%MEINE_JARS%
)
java -classpath %MEINE_JARS% ^
    de.bobteam.demo.DemoApp ^
    arg1 arg2 arg3

Jenkins und CentOS 7

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
yum remove java
yum install java-1.8.0-openjdk
chkconfig jenkins on
systemctl restart jenkins
firewall-cmd --permanent --new-service=jenkins
firewall-cmd --permanent --service=jenkins --set-short="Jenkins Service Ports"
firewall-cmd --permanent --service=jenkins --set-description="Jenkins service firewalld port exceptions"
firewall-cmd --permanent --service=jenkins --add-port=8080/tcp
firewall-cmd --permanent --add-service=jenkins
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
firewall-cmd --list-all

Im Anschluss Webseite http://jenkins.meine.de:8080 öffnen. Das Kennwort aus Datei lesen und eingeben.

Groovy-Skript ausführen

Die folgende Abfrage vom Microsoft SQL Server benötigt einen passenden JDBC-Treiber. Hier wurde Version 4.2 bzw. die Datei „sqljdbc42.jar“ eingesetzt.

import groovy.sql.Sql
 
sql = Sql.newInstance(
		"jdbc:sqlserver://10.10.1.100:1433;databaseName=datenbank",
		"burkg", "geheim",
		"com.microsoft.sqlserver.jdbc.SQLServerDriver")
 
int line = 0
sql.eachRow("SELECT TOP 3 * FROM datenbank..lieferanten WHERE zuname2 like '%GmbH%'") { row ->
	line++
	println "$line) ${row.lnr} ${row.zuname1.trim()} ${row.zuname2.trim()}"
}
 
sql.close()

Das Jar-Archiv muss beim Skriptstart mit der Option „-cp“ in den Klassenpfad eingebunden werden.

c:\groovy-2.4.13\bin\groovy -cp C:\Temp\sqljdbc_4.2.8112.100_enu\jre8\sqljdbc42.jar C:\Temp\SqlDemo.groovy

siehe auch: Groovy und JDBC