Ho creato il mio progetto con la stessa struttura del successivo frammento di codice.Significato del tag principale in Maven
|-- modP
| |-- pom.xml
| |-- src
| | |-- main
| | `-- java
| | `-- com
| | `-- myorg
| | `-- myapp
| | `-- modP
| | `-- AppP.java
|-- modC1
| |-- pom.xml
| |-- src
| | |-- main
| | `-- java
| | `-- com
| | `-- myorg
| | `-- myapp
| | `-- modC
| | `-- AppM.java
|-- modC2
| |-- pom.xml
| |-- src
|-- main
`-- java
`-- com
`-- myorg
`-- myapp
`-- modC2
`-- AppN.java
mio pom.xml per MODP è:
<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 http://maven.apache.org /xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myorg.myapp</groupId>
<artifactId>modP</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>modP</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
mio pom.xml per C1 è:
<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 http://maven.apache.org /xsd/maven-4.0.0.xsd">
<parent>
<artifactId>modP</artifactId>
<groupId>com.myorg.myapp</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>.../modP/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.myorg.myapp</groupId>
<artifactId>modC1</artifactId>
<packaging>jar</packaging>
<name>modC1</name>
<url>http://maven.apache.org</url>
</project>
E pom.xml per C2 è:
<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 http://maven.apache.org /xsd/maven-4.0.0.xsd">
<parent>
<artifactId>modP</artifactId>
<groupId>com.myorg.myapp</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>.../modP/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.myorg.myapp</groupId>
<artifactId>modC2</artifactId>
<packaging>jar</packaging>
<name>modC2</name>
<url>http://maven.apache.org</url>
</project>
La mia domanda è possibile utilizzare questo riferimento di configurazione AppP.jav a da ModP in AppC1.java e AppC2.java in ModC1 e ModC2.
Ho provato questo e sembra che questo non funziona. Ho frainteso il significato del tag parent in pom.xml? Cosa devo fare in Maven per tale funzione?
Ho letto molta documentazione, ma ora sono ancora più confuso di prima di leggere. :(
Ogni risposta sarà molto apprezzato.
Grazie
avete capito bene. Tutti e 3 i progetti sono nella stessa directory, e il numero di punti è corretto secondo la documentazione di Maven. La cosa che Puce ha ragione in questo caso. Il padre pom.xml (progetto) non dovrebbe contenere alcun codice. – Tiho