+1 امتیاز
قبل در برنامه نویسی توسط (9 امتیاز)
برچسب گذاری دوباره قبل توسط
در فایل pom.xml از maven-dependency-plugin و goal copy استفاده شده و به عنوان outputDirectory مسیر فولدر lib (حاوی dependency ها) تعیین شده است، سوال نحوه ی معرفی این فولدر (این dependency ها) به پروژه است. (فولدر lib خارج از jar فایل ایجاد شده در فاز package باشد.)
قبل توسط (1.1هزار امتیاز)
منظورتون اینه پس از اینکه jar فایل پروژتون ساخته شد. به یک jar فایل دیگه dependency داره که یه جایی تو هارد؟
قبل توسط (9 امتیاز)
بله،
پروژه به jar فایل های logabck-core ،logback-classic و slf4j-api نیاز دارد، در pom.xml این jar فایل ها به عنوان dependency معرفی شدند و با استفاده از maven-assembly-plugin یک jar فایل اجرایی از پروژه (حاوی این dependency ها) ساخته شد. اکنون می خواهم این dependency ها همراه فایل های class. و غیره آرشیو (jar) نشوند و در کنار jar فایل ایجاد شده به عنوان library در یک فولدر lib ارائه شوند و زمان اجرای jar فایل به آن ها دست یابد.

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

شما باید از maven-dependency-plugin استفاده کنید تا برای مثال dependency های پروژه شما را درون فولدر target/lib کپی کند و همچنین باید از maven-jar-plugin استفاده کنید تا زمان ساخته شدن jar فایل پروژه شما درون فایل manifest آن dependency مربوط به فولدر lib تعریف شود:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.8</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>           
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>com.javabyab.saeed.Main</mainClass>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>              
قبل توسط (1.1هزار امتیاز)
خواهش می کنم.

سوالات مشابه

0 امتیاز
1 پاسخ 297 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط kashi (7.2هزار امتیاز)
0 امتیاز
1 پاسخ 339 بازدید
0 امتیاز
0 پاسخ 287 بازدید
+1 امتیاز
1 پاسخ 493 بازدید
0 امتیاز
1 پاسخ 284 بازدید
0 امتیاز
1 پاسخ 362 بازدید
0 امتیاز
1 پاسخ 520 بازدید
...