هل مشروع موارد مافن قابل لإعادة الاستخدام ممكن؟

StackOverflow https://stackoverflow.com/questions/2337322

  •  22-09-2019
  •  | 
  •  

سؤال

هل هناك أي قدرة على بناء قطعة أثرية Maven التي ستحتوي على موارد فقط ولكن لا توجد مصادر والتي يمكن إعادة استخدامها بواسطة مشاريع أخرى؟

الدافع هو ما يلي. لدي مكتبة تحتوي فقط على رمز HTML/CSS/JavaScript. يجب أن تكون هذه المكتبة مكتظة كموارد في مشروع الحرب. بالنسبة الآن ، أقوم ببناء أرشيف الويب مع الموارد من قبل POM. لكن هل يمكنني فصل كود HTML/CSS/JavaScript في قطعة أثرية جديدة وإعادة استخدامها في العديد من مشاريع الحرب؟

هل كانت مفيدة؟

المحلول

استخدم Maven تراكب. يرى التلاعب بالتراكبات الحرب لمزيد من الأمثلة.

نصائح أخرى

يمكنك القيام بذلك مع مافن تجميع البرنامج المساعد.

لا أتخيل أن Maven سيمنعك من التغلب على بعض الموارد معًا ، وإضافة ذلك كاعتماد في مشروع الويب الخاص بك.

ومع ذلك ، فإن الطريقة التي تحتاجها للرجوع إلى الموارد ستكون غريبة بعض الشيء. أنا لست معتادًا على تحميل أوراق أنماط CSS كموارد Java داخل ملف JAR داخل الويب/LIB.

أرغب في الرجوع إليهم كموارد ويب عادية ، نسبة إلى جذر ملف الحرب ، وليس عبر جهاز التشغيل ClassLoader.

هذا شيء بسيط للغاية للاختبار:

$ ls -R
.:
pom.xml  src

./src:
main

./src/main:
resources

./src/main/resources:
README.txt  content-is-here.txt

$ mvn package
... Maven doing it's thing...

$ unzip -l target/test-1.0-SNAPSHOT.jar
Archive:  target/test-1.0-SNAPSHOT.jar
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  02-25-2010 16:18   META-INF/
      123  02-25-2010 16:18   META-INF/MANIFEST.MF
       10  02-25-2010 16:18   content-is-here.txt
        0  02-25-2010 16:18   README.txt
        0  02-25-2010 16:18   META-INF/maven/
        0  02-25-2010 16:18   META-INF/maven/group/
        0  02-25-2010 16:18   META-INF/maven/group/test/
      626  02-25-2010 16:15   META-INF/maven/group/test/pom.xml
      106  02-25-2010 16:18   META-INF/maven/group/test/pom.properties
---------                     -------
      865                     9 files

يمكن القيام بذلك عن طريق Jarring Resource Artifact وتفريغه في SRC/Main/Resources في مشروع الحرب أثناء validate مرحلة على سبيل المثال. POM الموارد تافهة ولكن الحرب سوف تحتوي على ما يلي:

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
       <execution>
          <id>unpack</id>
          <phase>validate</phase>
          <goals>
             <goal>unpack</goal>
          </goals>
          <configuration>
             <artifactItems>
                <artifactItem>
                   <groupId>my.company</groupId>
                   <artifactId>resource-artifact</artifactId>
                   <version>1.0</version>
                   <overWrite>true</overWrite>
                   <outputDirectory>src/main/resources</outputDirectory>
                </artifactItem>
             </artifactItems>
          </configuration>
       </execution>
    </executions>
 </plugin>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top