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:evaluatebę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>
${...})