هل أخبرني POM.xml.template كل ما أحتاج إلى معرفته لاستخدام المشروع كاعتماد
-
05-07-2019 - |
سؤال
أحاول إضافة مساهمة Lucene Sandbox مصطلح أعلى إلى بلدي pom.xml. أنا لست على دراية بـ Maven ، لكن الرمز يحتوي pom.xml.template الذي يبدو أنه يعني ما إذا كنت أضيف تبعية تبدو مثل:
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-highlighter</artifactId>
</dependency>
قد يعمل. هل يمكن لأحد أن يساعدني في إضافة مشروع Community Lucene إلى ملف pom.xml الخاص بي؟
شكرًا على التعليقات ، اتضح أن إضافة الإصدار كان كل ما أحتاجه ، وأخمن أنه يجب أن يتطابق مع إصدار Lucene-Core الذي كنت أستخدمه:
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-highlighter</artifactId>
<version>2.3.1</version>
</dependency>
المحلول
يجب عليك إضافة رقم الإصدار ، ولكن عليك فقط القيام بذلك مرة واحدة في بنية المشروع. أي إذا تم تعريف رقم الإصدار في POM الوالدين ، فلن تضطر إلى إعطاء رقم الإصدار مرة أخرى. (لكن ليس عليك حتى توفير التبعية في هذه الحالة لأن التبعية سيتم ورثها على أي حال.)
نصائح أخرى
لديك بشكل صحيح ، لكن ربما تريد إضافة الإصدار أيضًا:
<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.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
لا تنتمي إلى StackOverflow