+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 پاسخ 280 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط kashi (7.2هزار امتیاز)
0 امتیاز
1 پاسخ 320 بازدید
0 امتیاز
0 پاسخ 275 بازدید
+1 امتیاز
1 پاسخ 475 بازدید
0 امتیاز
1 پاسخ 269 بازدید
0 امتیاز
1 پاسخ 348 بازدید
0 امتیاز
1 پاسخ 502 بازدید
...