Maven Frage zu assembly

B

bygones

Gast
Hi,

wir haben ein grosses Multimodule Projekt, dass in anderen Entwicklungsumgebungen genutzt wird (ne art "Framework").

Nun soll somit aus diesen Projekt verschiedene jars entstehen, die zusammengepackt weitergeben werden.

Zb braucht ein szenario Projekt-A mit allen seinen trans. Abhaengigkeiten (gepackt als ein jar), ein anderes Projekt-B & Projekt-C mit deren trans. Abhaengigkeiten (als ein jar). (Dass es immer ein jar sein muss liegt firmeninternen prozessen zu grunde).

Zwecks Uebersichtlichkeit wollte ich nun auf oberster Ebene ein Projekt einfuegen "Assembly", welches mithilfe versch. Descriptoren die unterschl. assemblies zusammenbaut. Geht das ueberhaupt ? ist es sinnvoll ?
Ich scheitere, da ich nicht weiss, wie ich bei diesem Projekt die Descriptoren schreiben muss, so dass DescriptorA mir Szenario1 von oben baut und DescriptorB Szenario 2. Da das Projekt ja nur ueber Abhaengigkeiten die anderen Projekten / Module kennen wuerde.

Da alles ein MMP ist, koennte man dann doch in der ober pom die versch. Descriptoren ablegen, und dann entweder das eine Module oder die versch. projekte aus versch. Modulen dort eintragen - als Parent kennt er ja seine Pappenheimer... das muesste doch gehen ?

Die erste Loesung faende ich jedoch uebersichtlicher...

oder wie ist allgemein die Handhabung bei sowas ?

Thx
 

kama

Top Contributor
Hallo,

Nun soll somit aus diesen Projekt verschiedene jars entstehen, die zusammengepackt weitergeben werden.
Ich würde dann mal zuerst fragen, warum denn nicht mit den Artekfakten aus Maven direkt gearbeitet wird (Repository Manager)?

Aber Ok...Firmen sind manchmal etwas abstruss... ;-)

Zb braucht ein szenario Projekt-A mit allen seinen trans. Abhaengigkeiten (gepackt als ein jar), ein anderes Projekt-B & Projekt-C mit deren trans. Abhaengigkeiten (als ein jar). (Dass es immer ein jar sein muss liegt firmeninternen prozessen zu grunde).
Dazu würde ich das

Maven Shade Plugin - Introduction

empfehlen...
Man kann das auch mit dem Assembly Plugin erreichen...ist aber glaube ich nicht so gut...aber das habe ich mit dem Assembly Plugin nocht nicht Probiert...

Zwecks Uebersichtlichkeit wollte ich nun auf oberster Ebene ein Projekt einfuegen "Assembly", welches mithilfe versch. Descriptoren die unterschl. assemblies zusammenbaut. Geht das ueberhaupt ? ist es sinnvoll ?
Also Grundsätzlich wiederspricht das der "Maven Philosophie" One Project -> One Artifact...

Ich scheitere, da ich nicht weiss, wie ich bei diesem Projekt die Descriptoren schreiben muss, so dass DescriptorA mir Szenario1 von oben baut und DescriptorB Szenario 2. Da das Projekt ja nur ueber Abhaengigkeiten die anderen Projekten / Module kennen wuerde.
Mit mehreren Descriptoren wirst Du da nicht richtig zum Ziel kommen...Du musst zwei oder mehr executions für das Plugin definieren und unterschiedliche Descriptoren nutzen (wenn man das Assembly Plugin nutzt)...

Aber beim shade-plugin wirst Du das genauso machen müssen mit zwei oder mehre Executions...

Gruß
Karl Heinz Marbaise
 
M

maki

Gast
Würde für die jeweiligen Assemblies eigene POMs verwenden(oder mehrere Assemblies in ein Modul zusammenfassen), müssen auch nicht top Module sein, sodnern eben da wo sie hin gehören.

Ach ja, das Assembly Plugin kann das sehr gut :)
Die Assembly Descriptoren sind zwar gewöhnungsbedürftig, aber wenn man den dreh mal raus hat ;)
Wichtig ist, dass man die attached und single goals des assembly plugins nciht verwendet.
jar-with-dependencies empfehle ich da als verdefinierten Descriptor.

Also Grundsätzlich wiederspricht das der "Maven Philosophie" One Project -> One Artifact...
Die hat man doch schon längst aufgeweicht, Build-helper Plugin, Assembly Plugin,... ;)
 
Zuletzt bearbeitet von einem Moderator:
B

bygones

Gast
danke euch - werd ich mal probieren.

Aber Ok...Firmen sind manchmal etwas abstruss...
nichtmal wirklich die Firma - eher der Kunde... liegt darin v.a. begründet, dass ich ein seit Jahren etabliertes System auf Maven umstellen will.
Damit dies v.a. nach aussen kommuniziert werden kann stellen wir erstmal intern um, aber nach aussen bleibt erstmal alles beim alten - also auch dieses "mehrere jars, aber nicht alle jars" etc

Also Grundsätzlich wiederspricht das der "Maven Philosophie" One Project -> One Artifact...
bzw auch bei test-jar erstellen :D
 

kama

Top Contributor
Hallo,

Ach ja, das Assembly Plugin kann das sehr gut :)
Die Assembly Descriptoren sind zwar gewöhnungsbedürftig, aber wenn man den dreh mal raus hat ;)
Wichtig ist, dass man die attached und single goals des assembly plugins nciht verwendet.
jar-with-dependencies empfehle ich da als verdefinierten Descriptor.
Ja stimmt...jar-with-dependencies...hatte ich völlig vergessen..;-(

Ja Ja die Descriptoren...ich nutze einige...bin Deiner Meinung...

Die hat man doch schon längst aufgeweicht, Build-helper Plugin, Assembly Plugin,... ;)
Build-Helper Plugin habe ich bisher einmal verwendet...Ok Ok...Assembly schon viel öfter ;-)...

Gruß
Karl Heinz Marbaise
 
B

bygones

Gast
mhm ich bekomms nicht hin dass ich zb die pom.xmls beim assembly ausschliesse...

ich nutze das jar-with-dependencies, will aber im ziel jar keine pom.xml drin haben (momentan schmeisst er das alles in META-INF/maven/groupId/artifactId).

wie kann ich das unterbinden ?

Code:
<build>
		<plugins>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<version>2.2-beta-5</version>
				<configuration>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
					<fileSets>
						<fileSet>
							<excludes>
								<exclude>**/pom.*</exclude>
							</excludes>
						</fileSet>
					</fileSets>
				</configuration>
			</plugin>
		</plugins>
	</build>
geht nicht
 
B

bygones

Gast
naja - machen das ganze halt unnötig grösser.

da diese jars irgendwo in ein System geworfen werden und dort nix mit den poms gemacht wird, halte ich sie halt für unnötig
 
B

bygones

Gast
Wichtig ist, dass man die attached und single goals des assembly plugins nciht verwendet.
wie ist dann der "richtige" Einbindung des assemblies.

Wenn ich meinen build mit [c]mvn clean install assembly:assembly[/c] so starte baut er in der assembly phase ja alle projekte nochmals obwohl sie gerade eben gebaut wurden. Soweit ich es verstanden habe kann man dies mit dem "single" goal unterbinden.

also warum nicht das single goal ?

Der (hudson)job der die Assemblies baut läuft 1x nachts ... soll der dann "mvn clean assembly:assembly" einfach rufen ?

und noch was:
ein artefact des assemblies soll ins maven-repository deployed werden... dafuer kann ich dann das deploy:deploy-file nehmen - richtig ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Mercurial Frage Tools - Maven, Gradle, Ant & mehr 5
VfL_Freak Webstart Frage zu "readinmg certificates" Tools - Maven, Gradle, Ant & mehr 6
D Maven Frage Tools - Maven, Gradle, Ant & mehr 3
AlexSpritze Ant Frage zu manifest-class-path mit Target jar Tools - Maven, Gradle, Ant & mehr 1
B Maven deploy-file frage Tools - Maven, Gradle, Ant & mehr 6
C Applet Frage Tools - Maven, Gradle, Ant & mehr 4
-MacNuke- Maven (Verständnis-)frage Tools - Maven, Gradle, Ant & mehr 7
deetee Applet Frage Tools - Maven, Gradle, Ant & mehr 2
G Frage zur JARs beim deployen Tools - Maven, Gradle, Ant & mehr 5
M Kurze Frage - Applet in Applet starten? Tools - Maven, Gradle, Ant & mehr 10
U Newbie-Frage: Applet "fernsteuern"? Tools - Maven, Gradle, Ant & mehr 4
D Frage zum Aufbau eines JApplets Tools - Maven, Gradle, Ant & mehr 6
T Frage wegen Chat-Applet signieren Tools - Maven, Gradle, Ant & mehr 11
TheJavaKid wichtige sicherheits frage zu applets Tools - Maven, Gradle, Ant & mehr 12
S JAVA APPLET While Schleife Frage! Tools - Maven, Gradle, Ant & mehr 3
M eine Frage über JApplet und JMenuBar Tools - Maven, Gradle, Ant & mehr 6
T Frage bzgl. Sicherheitslimits Tools - Maven, Gradle, Ant & mehr 5
P allgemeine applet performance frage bezügl. jar Tools - Maven, Gradle, Ant & mehr 2
D Schon wieder eine Frage für meinen Editor Tools - Maven, Gradle, Ant & mehr 10
L frage zu remote-fähigkeit in browsern mit Java Tools - Maven, Gradle, Ant & mehr 4
P Eine Frage fur Galleries ? Tools - Maven, Gradle, Ant & mehr 5
H Frage zu Filechoser Tools - Maven, Gradle, Ant & mehr 4
K Mal ne ganz dumme Frage Tools - Maven, Gradle, Ant & mehr 3
A [GUI] [JApplet] [JDialog] Nochmal die Frage zur Modalität un Tools - Maven, Gradle, Ant & mehr 3
L frage nach windowClosing Tools - Maven, Gradle, Ant & mehr 3
C Frage zum drawLine-Befehl Tools - Maven, Gradle, Ant & mehr 2
J Applet Frage (Animation) Double Buffer? Tools - Maven, Gradle, Ant & mehr 27
C Frage Tools - Maven, Gradle, Ant & mehr 6
H Maven Assembly mit lib-Verzeichnis und Resource Verzeichnis Tools - Maven, Gradle, Ant & mehr 5
G Maven Tomcat und Web Deployment Assembly Tools - Maven, Gradle, Ant & mehr 10
T Maven das mvn assembly:assembly funktioniert nicht so richtig Tools - Maven, Gradle, Ant & mehr 3
T Problem mit Maven Assembly ... Tools - Maven, Gradle, Ant & mehr 6
J Maven Assembly-Plugin und Dependencies Tools - Maven, Gradle, Ant & mehr 4

Ähnliche Java Themen

Neue Themen


Oben