Wiem, że jest to lista wszystkich predefiniowanych właściwości Mavena (wiesz jak project.build.sourceEncoding
, lub project.build.sourceDirectory
). Raz widziałem listę, ale po prostu nie mogę jej znaleźć ponownie.
Wiem, że jest to lista wszystkich predefiniowanych właściwości Mavena (wiesz jak project.build.sourceEncoding
, lub project.build.sourceDirectory
). Raz widziałem listę, ale po prostu nie mogę jej znaleźć ponownie.
Odpowiedzi:
Masz na myśli ten?
Przeniosłem też jego zawartość do repozytorium GitHub:
https://github.com/cko/predefined_maven_properties/blob/master/README.md
[WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.
ale obejmuje większość;)
Zapoznaj się z sekcją 9.2 .: Właściwości Mavena bezpłatnej książki online Maven: The Complete Reference .
Spojrzenie na „efektywny POM” prawdopodobnie też pomoże. Na przykład, jeśli chcesz wiedzieć, do czego służy ścieżka${project.build.sourceDirectory}
znajdziesz powiązany XML w efektywnym POM, takim jak:
<project>
<build>
<sourceDirectory>/my/path</sourceDirectory>
Pomocne również - możesz dokonać oceny właściwości w czasie rzeczywistym za pomocą wiersza poleceń, mvn help:evaluate
będąc w tym samym katalogu, co POM.
Myślę, że najlepszym miejscem do obejrzenia jest Super POM .
Na przykład w chwili pisania tego odnośnika odsyłacz zawiera niektóre właściwości między wierszami 32–48.
Interpretacja tego jest następująca po XPath jako .
właściwości rozdzielanej.
Na przykład:
${project.build.testOutputDirectory}
== ${project.build.directory}/test-classes
I:
${project.build.directory}
== ${project.basedir}/target
Łącząc je w ten sposób, znajdujemy:
${project.build.testOutputDirectory}
== ${project.basedir}/target/test-classes
(Aby odwołać się do katalogów zasobów, zobacz to pytanie dotyczące stackoverflow )
<project>
<modelVersion>4.0.0</modelVersion>
.
.
.
<build>
<directory>${project.basedir}/target</directory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
.
.
.
</build>
.
.
.
</project>
Zmęczyło mnie oglądanie tej strony z jej przestarzałymi odniesieniami do nieistniejących już stron Codehaus, więc zapytałem na liście mailingowej użytkowników Mavena i otrzymałem bardziej aktualne odpowiedzi.
Powiedziałbym, że najlepszą (i najbardziej miarodajną) odpowiedzią zawartą w powyższym linku jest ta, której nadesłał Hervé BOUTEMY:
tutaj jest podstawowe odniesienie: http://maven.apache.org/ref/3-LATEST/maven-model-builder/
nie wyjaśnia wszystkiego, co można znaleźć w POM lub ustawieniach, ponieważ jest tyle dostępnych informacji, ale wskazuje na POM i deskryptory ustawień i wyjaśnia wszystko, co nie jest POM lub ustawienia
Ten link pokazuje, jak wyświetlić listę wszystkich aktywnych usług: http://skillshared.blogspot.co.uk/2012/11/how-to-list-down-all-maven-available.html
Podsumowując, dodaj następującą definicję wtyczki do swojego POM, a następnie uruchom mvn install
:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>install</phase>
<configuration>
<target>
<echoproperties />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
${...}
)