LOAD begrenzen

Hi

brauch für mein Programm eine gebündelte JRE und bezieh die folgendermaßen :

	<build>
		<plugins>
			<!-- DOWNLOAD JRE -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>exec-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>download-azul-jre11</id>
						<phase>package</phase>
						<goals>
							<goal>exec</goal>
						</goals>
						<configuration>
							<executable>curl</executable>
							<arguments>
								<argument>-L</argument>
								<argument>-#</argument>
								<argument>--create-dirs</argument>
								<argument>--output</argument>
								<argument>${project.build.directory}/zulu11.33.15-ca-jre11.0.4-win_x64.zip</argument>
								<argument>https://cdn.azul.com/zulu/bin/zulu11.33.15-ca-jre11.0.4-win_x64.zip</argument>
							</arguments>
						</configuration>
					</execution>
				</executions>
			</plugin>
...

Das Problem ist, dass er bei jedem Build-Vorgang das Ding runterläd, das ziemlich viel Load verursacht, gerade bei ner schmalen internetverbindung.

Ich hätte eigentlich gerne, das das so funktioniert, wie eine DEPENDENCY, die einfach im localen repo gespeichert wird und nur dann geholt werden muss, wenn sie nicht da ist.

Ginge sowas?
Und wenn ja wie wäre denn ein guter Ansatz?

Grüße

Fragen dazu:

Warum runterladen? Wozu ist das Nötig?

BTW: Warum nicht das Artefakt in einen Repository Manager laden und dann eben als Dependency nutzen…

Gruß
Karl Heinz

gerne :wink: auch gut — hauptsache ich kann es dann irgendwie von dort in das target-verzeichnis kopieren – ich selber hab keinen RepoManager — gibts das noch nicht irgendo? oder es reicht mir eigentlich auch mein lokales repo — sollte ja genau so funktionieren

Hallo,

ja klar kannst Du das auch in das lokale Repository packen…Repo Manager macht die Arbeit schlicht einfacher…

Gruß
Karl Heinz

Hi Hab selber folgende Lösung gebaut, die astrein funzt:

Code ist da glaub ich selbsterklärend


<project ..
..
	<repositories>
		<repository>
			<!-- this repository has the JRE tgz -->
			<id>alfresco-mvn-repo</id>
			<url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
		</repository>
	</repositories>

	<dependencies>
	...
	</dependencies>

	<build>
		<plugins>
		
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>3.0.2</version>
				<executions>
					<execution>
						<id>unpack</id>
						<phase>package</phase>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>com.oracle.java</groupId>
									<artifactId>jre</artifactId>
									<version>1.8.0_131</version>
									<classifier>win64</classifier>
									<!-- <classifier>win32</classifier> -->
									<type>tgz</type>
									<outputDirectory>${project.build.directory}/jre</outputDirectory>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>
				</executions>
			</plugin>
...	
		</plugins>			
</build>			
						

Hab eine Oracle-JRE in einem Alfresco-repo gefunden.
// Vielleicht find ich später ja noch eine von „azul“ — Dann tausch ich einfach die REPO-URL :wink:
Die wird EINMAL ins lokale Repo runtergeladen
und bei jedem erneuten build-vorgang einfach an die gewünschte stelle ausgepackt.

Läuft wie ich wollte

Konnte mir hier praktisch selber helfen, bedanke mich aber bei allen helfenden

:wink: