Я прочитал несколько полезных постов здесь на SO о предыдущих вопросах maven, в настоящее время я очень заинтересован в изучении maven (потому что мне это нравится и потому, что этого требует мой босс). В настоящее время я читаю [эту] [1] книгу и прорабатываю свои примеры. Это простая книга, но в ней есть некоторые ошибки (тривиальные), но для такого новичка, как я, может быть трудно заметить, когда его заметят, его легко исправить. Есть ли какая-нибудь другая книга, чтобы лучше понять maven сверху вниз?
Вторая часть вопроса касается примера из этой книги, возможно, простые объяснения разрешат мои сомнения.
Вот в чём дело, я сделал simple-weather
проект в java, который извлекает погодные условия с погодного сервера Yahoo, учитывая конкретный почтовый индекс, который возвращает информацию о погоде.
Затем я создал «простое веб-приложение» (с maven, а также с вышеупомянутым, о котором я забыл упомянуть), которое по сути является веб-проектом, в котором уже есть некоторый сервлет по умолчанию с maven, и он ничего не делает. *
И у меня есть некоторые parent-project
Я хочу объединить эти два проекта в один, поэтому я сделал pom.xml, который имеет 2 модуля, 1 для получения информации (проект Java) и другой для отображения в Интернете (веб-приложение). ).
Я заставил все работать в конце, но вот странная вещь ... если я заставлю веб-приложение отображать любую строку, «имя», скажем, построит ее независимо, она точно напечатает эту строку. Но когда я помещаю веб-приложение в «parent-project», изменяю эту строку на «name1» и собираю его как подмодуль sa partent-project ... ничего не меняется ..
Итак, я возвращаюсь к сути, потому что simple-webapp зависит от simple-weather, и я не могу больше его строить самостоятельно, поэтому теперь, если я хочу внести некоторые изменения в webapp ... измените webapp вне «родительский проект» создайте его там, затем вставьте обратно в родительский проект, и затем изменения вступят в силу, почему, почему я не могу напрямую изменить содержимое сервлета / или добавить еще один в веб-приложение как часть «родительский проект»?
Спасибо. Я знаю, что это длинный и скучный вопрос, но я просто пытаюсь что-то узнать, и нет лучшего места, чем здесь: D
РЕДАКТИРОВАТЬ - ЗДЕСЬ ФАЙЛЫ POM ДЛЯ КАЖДОГО ПРОЕКТА:
1. простой родитель pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.sonatype.mavenbook.multi</groupId>
<artifactId>simple-parent</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>Multi Chapter Simple Parent Project</name>
<modules>
<module>simple-weather</module>
<module>simple-webapp</module>
</modules>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2. простая погода pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.sonatype.mavenbook.multi</groupId>
<artifactId>simple-parent</artifactId>
<version>1.0</version>
</parent>
<artifactId>simple-weather</artifactId>
<packaging>jar</packaging>
<name>Multi Chapter Simple Weather API</name>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
3. simple-webapp pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.sonatype.mavenbook.multi</groupId>
<artifactId>simple-parent</artifactId>
<version>1.0</version>
</parent>
<artifactId>simple-webapp</artifactId>
<packaging>war</packaging>
<name>simple-webapp Maven Webapp</name>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.sonatype.mavenbook.multi</groupId>
<artifactId>simple-weather</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<build>
<finalName>simple-webapp</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>