3 ms·
This pretty much matches my experience. I resisted maven and the obscure pom.xml structure for a long time but eventually came around due to its excellent depe
by hodgesrm 9y ago
This pretty much matches my experience. I resisted maven and the obscure pom.xml structure for a long time but eventually came around due to its excellent dependency management. Now that I understand maven it's hard to see how Gradle really improves on maven for basic Java projects.
- eecc 9y agoWell, excellent... their versioning is so broken that it had to become a de-facto standard to become accepted
- hodgesrm 9y agoWhich versioning do you mean? Of Maven itself?
- oftenwrong 9y agoSeems "obscure", but it has a schema.
- hodgesrm 9y agoJust to be clear, I'm not against XML at all. Maven does more but can be a pain to program compared to older systems like ant, which is also XML-based. Configuring plugins to fire at the right point in the build cycle (e.g., package vs. install) comes lightly to mind. It's gotten a lot better because there are many examples now accessible with Google. Overall I'm pretty happy with maven now. It works.
- oftenwrong 9y ago"It's gotten a lot better because there are many examples now accessible with Google." That is the main reason I am sticking with Maven (where practical). Examples, documentation, and answered questions are plentiful. "Configuring plugins to fire at the right point in the build cycle (e.g., package vs. install) comes lightly to mind." The official documentation has that covered well: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html https://maven.apache.org/guides/introduction/introduction-to... An example they give is: ... <plugin> <groupId>com.mycompany.example</groupId> <artifactId>display-maven-plugin</artifactId> <version>1.0</version> <executions> <execution> <phase>process-test-resources</phase> <goals> <goal>time</goal> </goals> </execution> </executions> </plugin> ... i.e. plugin "display-maven-plugin" should execute its "time" goal during the "process-test-resources" phase. IIUC, there are no fixed phases in Gradle, so this sort of thing is done with task dependencies.