Maven 2 빌드 클래스 패스에 설치 없이 jars를 추가할 수 있습니까?
Maven 2는 실험/빠르고 지저분한 개발 모형 단계에서 나를 미치게 한다.
는 나나 a a a가 있다pom.xml사용할 웹 앱 프레임워크의 종속성을 정의하는 파일로, 해당 파일에서 스타터 프로젝트를 빠르게 생성할 수 있습니다. 저는 i만, 아아 that that that that that that that that that that that that that that that that that that that that that that that that that 가 없는 .pom.xml정의하기 에, 「」를 이 아니라, 「」를 작성합니다.pom.xml를 my "my" lib " "my "sird " "sird party lib" 。pom.xml 「된 의존 관계 에, 「메이븐」에 항아리를 시켜 주세요「정의된 의존관계 외에, 그 안에 있는 모든 항아리를 포함시켜 주세요./lib.'
간단해야 할 것 같지만, 간단하다면 뭔가 놓치고 있는 것 같습니다.
이것을 어떻게 할 것인지에 대한 어떤 조언도 대단히 감사합니다. 「」을 이 있는 는, 「MAVEN」이라고 하는 입니다./lib 수 있습니다.pom.xml동봉된 모든 항아리가 하나의 의존관계에 매핑되어 있기 때문에 이름을 붙이고 설치하며 단번에 링크할 수 있습니다.
일반적인 접근법의 문제
수 하거나 "합니다.pom프로젝트 소스와의 의존 관계를 분산합니다.하지만 이 두 가지 솔루션 모두 실제로는 결함이 있습니다.
'로컬 리포에 설치' 접근 방식을 적용하지 않는 이유
로컬 저장소에 종속성을 설치하면 종속성이 그대로 유지됩니다.이 저장소에 액세스할 수 있는 한 배포 아티팩트는 정상적으로 작동합니다.대부분의 경우 이 저장소는 로컬 머신에 존재하므로 다른 머신에 대한 의존성을 해결할 방법이 없습니다.아티팩트를 특정 시스템에 의존하는 것은 작업을 처리하는 방법이 아닙니다.그렇지 않으면 이 의존관계를 해당 프로젝트로 작업하는 모든 머신에 로컬로 설치해야 합니다.이러한 의존관계는 전혀 개선되지 않습니다.
"System Scope" 접근 방식을 적용해서는 안 되는 이유
"System Scope" 접근법에 의존하는 자르는 저장소에 설치되거나 대상 패키지에 연결되지 않습니다.따라서 배포 패키지는 사용할 때 이러한 종속성을 해결할 수 없습니다.그것이 시스템 스코프의 사용이 폐지된 이유라고 생각합니다.어쨌든 더 이상 사용되지 않는 기능에 의존하고 싶지 않습니다.
정적 프로젝트 내 저장소 솔루션
의 이 your your에 넣은 후pom:
<repository>
<id>repo</id>
<releases>
<enabled>true</enabled>
<checksumPolicy>ignore</checksumPolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>file://${project.basedir}/repo</url>
</repository>
의 각x.y.zMaven은 아티팩트를 검색할 때 프로젝트 내부에 다음 위치를 포함합니다.
repo/
| - x/
| | - y/
| | | - z/
| | | | - ${artifactId}/
| | | | | - ${version}/
| | | | | | - ${artifactId}-${version}.jar
Maven을 사용하여 프로젝트 리포에 설치
이 구조를 손으로 작성하는 대신 Maven 플러그인을 사용하여 아티팩트로 jar를 설치할 것을 권장합니다.따라서 프로젝트 내 은 다음과 같이 .repo더더: :
mvn install:install-file -DlocalRepositoryPath=repo -DcreateChecksum=true -Dpackaging=jar -Dfile=[your-jar] -DgroupId=[...] -DartifactId=[...] -Dversion=[...]
할 수 pom 삭제:
<repository>
<id>repo</id>
<url>file://${project.basedir}/repo</url>
</repository>
도우미 스크립트
각 lib에 대해 설치 명령어를 실행하는 것은 다소 귀찮고 확실히 에러가 발생하기 쉽기 때문에, 저는 모든 jars를 자동으로 설치하는 유틸리티 스크립트를 만들었습니다.lib파일 이름에서 모든 메타데이터(groupId, artifictId 등)를 자동으로 해결하면서 폴더를 프로젝트 저장소로 이동합니다., 이 는, 「에 하는 도 출력합니다.pom.
대상 패키지에 종속성 포함
프로젝트 내 저장소를 생성하면 프로젝트의 종속성을 소스와 함께 배포하는 문제가 해결되지만, 그 이후 프로젝트의 대상 아티팩트는 게시되지 않은 항아리에 의존하므로 저장소에 설치할 때 해결할 수 없는 종속성이 있게 됩니다.
이 문제를 해결하려면 대상 패키지에 이러한 종속성을 포함시킬 것을 제안합니다.이 작업은 어셈블리 플러그인 또는 OneJar 플러그인을 사용하여 수행할 수 있습니다.OneJar에 대한 공식 문서는 쉽게 파악할 수 있습니다.
폐기 코드 전용
scope == system을 설정하고 groupId, attactId 및 버전만 구성합니다.
<dependency>
<groupId>org.swinglabs</groupId>
<artifactId>swingx</artifactId>
<version>0.9.2</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/swingx-0.9.3.jar</systemPath>
</dependency>
주의: jar/war는 다음과 같습니다.
(메이븐을 사용하여 구축한 전쟁에 시스템 종속성을 포함하는 방법 참조)
프로젝트에 로컬 저장소를 생성할 수 있습니다.
를 들어, 「」가 있는 는,libs프로젝트 구조의 폴더
인
libs다음과 같은 디렉토리 구조를 작성해야 합니다./groupId/artifactId/version/artifactId-version.jarpom.xml에 저장소를 등록해야 합니다.
<repository> <id>ProjectRepo</id> <name>ProjectRepo</name> <url>file://${project.basedir}/libs</url> </repository>평소처럼 의존성을 높입니다.
<dependency> <groupId>groupId</groupId> <artifactId>artifactId</artifactId> <version>version</version> </dependency>
그게 다야.
상세한 것에 대하여는, 다음을 참조해 주세요.Maven에서 외부 라이브러리를 추가하는 방법(아카이브)
주의: 시스템 스코프(이 페이지에서 설명한 바와 같이)를 사용할 경우 Maven에는 절대 경로가 필요합니다.
jar가 프로젝트의 루트 아래에 있는 경우 systemPath 값 앞에 ${basedir}를 붙여야 합니다.
이것이 제가 한 일입니다.패키지 문제에도 대응하여 체크 아웃된 코드에도 대응합니다.
내 경우 프로젝트에서 새 폴더를 생성했습니다.repo사용하실 수 있습니다.src/repo
내 POM에는 어떤 공공 저장소에도 없는 종속성이 있었다.
<dependency>
<groupId>com.dovetail</groupId>
<artifactId>zoslog4j</artifactId>
<version>1.0.1</version>
<scope>runtime</scope>
</dependency>
그 후, 이하의 디렉토리를 작성했습니다.repo/com/dovetail/zoslog4j/1.0.1JAR 파일을 그 폴더에 카피했습니다.
다운로드한 파일을 나타내는 다음의 POM 파일을 작성했습니다(이 순서는 옵션입니다만, WARNING이 삭제되어 있습니다).다음 사람이 파일을 어디서 입수했는지 알아내는 데 도움이 됩니다.
<?xml version="1.0" encoding="UTF-8" ?>
<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.dovetail</groupId>
<artifactId>zoslog4j</artifactId>
<packaging>jar</packaging>
<version>1.0.1</version>
<name>z/OS Log4J Appenders</name>
<url>http://dovetail.com/downloads/misc/index.html</url>
<description>Apache Log4j Appender for z/OS Logstreams, files, etc.</description>
</project>
작성하는 2개의 옵션파일은 POM용 SHA1 체크섬과 누락된 체크섬 경고를 제거하기 위한 JAR입니다.
shasum -b < repo/com/dovetail/zoslog4j/1.0.1/zoslog4j-1.0.1.jar \
> repo/com/dovetail/zoslog4j/1.0.1/zoslog4j-1.0.1.jar.sha1
shasum -b < repo/com/dovetail/zoslog4j/1.0.1/zoslog4j-1.0.1.pom \
> repo/com/dovetail/zoslog4j/1.0.1/zoslog4j-1.0.1.pom.sha1
마지막으로 로컬 저장소를 참조할 수 있도록 다음 fragment를 pom.xml에 추가합니다.
<repositories>
<repository>
<id>project</id>
<url>file:///${basedir}/repo</url>
</repository>
</repositories>
로컬 항아리를 추가하거나 설치하는 방법은 다음과 같습니다.
<dependency>
<groupId>org.example</groupId>
<artifactId>iamajar</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/iamajar.jar</systemPath>
</dependency>
기본 groupId 및 artifictId는 필수이므로 일부 기본 groupId 및 artifictId를 지정했습니다.
레포지토리를 통해 자신의 의존성을 사전에 파악하고 프레임워크를 구축해야 합니다.시스템 범위를 사용하는 것은 "의존성 관리에 관심이 없다"는 이유로 사람들이 흔히 저지르는 실수입니다.문제는 이렇게 하면 정상적인 상태에서는 maven이 나타나지 않는 왜곡된 maven 빌드가 발생한다는 것입니다.당신은 이런 방식을 따르는 것이 좋을 것이다.
Maven install 플러그인은 로컬 저장소에 jar를 설치하기 위한 명령줄 사용이 있습니다.POM은 옵션이지만 GroupId, ArtifictId, Version and Packaging(모든 POM 항목)을 지정해야 합니다.
사용.<scope>system</scope>로컬 저장소에 파일을 수동으로 설치하면 빌드가 재현되지 않고 다른 사용자가 설명하는 이유로 인해 좋지 않은 아이디어입니다.<url>file://${project.basedir}/repo</url>(a)형식이 적절하지 않을 수 있기 때문에 좋은 생각이 아닙니다.fileURL(예: 프로젝트가 비정상적인 문자를 가진 디렉토리에서 체크아웃된 경우), (2) 이 프로젝트의 POM을 다른 사용자의 프로젝트의 종속 요소로 사용할 경우 결과를 사용할 수 없습니다.
아티팩트를 공용 저장소에 업로드하지 않을 경우 Simeon이 제안한 도우미 모듈이 작업을 수행합니다.하지만 이제 더 쉬운 방법이 있습니다.
권장 사항
non-maven-jar-maven-plugin을 사용합니다.다른 접근 방식의 단점 없이 원하는 대로 작동합니다.
다른 방법을 찾았습니다.여기를 Heroku 투고에서 보세요.
요약(복사앤페이스트 건은 죄송합니다)
- 작성하다
repo루트 폴더 아래의 디렉토리:
프로젝트+- pom.xml+- src+- 리포
- 로컬 repo 디렉토리에 jar를 설치하려면 이 명령을 실행합니다.
mvn deploy:deploy-file -Durl=file://path/to/your project/repo/-Dfile=mylib-1.0.jar -DgroupId=com.example -Dpackaging=jar -Dversion=1.0
- 이 항목을 추가합니다.
pom.xml:
<repositories> <!--other repositories if any--> <repository> <id>project.local</id> <name>project</name> <url>file:${project.basedir}/repo</url> </repository> </repositories> <dependency> <groupId>com.example</groupId> <artifactId>mylib</artifactId> <version>1.0</version> </dependency>
가장 간단한 것은 maven-compiler-plugin을 커스텀 jar를 포함하도록 설정하는 것입니다.이 예에서는 lib 디렉토리에 jar 파일을 로드합니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<includes>
<include>lib/*.jar</include>
</includes>
</configuration>
</plugin>
CloudBees와 이러한 종류의 JAR의 적절한 패키징에 대해 오랫동안 논의한 후, 그들은 흥미로운 솔루션을 제안했습니다.
기존 JAR을 프라이머리 아티팩트로 첨부하여 소속된 POM install:install-file 실행으로 실행하는 가짜 Maven 프로젝트 생성.POM 의 그러한 kinf 의 예를 다음에 나타냅니다.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>image-util-id</id>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${basedir}/file-you-want-to-include.jar</file>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<packaging>jar</packaging>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
그러나 이를 구현하기 위해서는 기존 프로젝트 구조가 바뀌어야 합니다.우선 이러한 종류의 JAR마다 다른 가짜 Maven 프로젝트(모듈)가 생성되어야 한다는 점을 염두에 두어야 합니다.그리고 모든 서브모듈을 포함하는 부모 Maven 프로젝트가 생성되어야 합니다: 모든 JAR 래퍼와 기존 메인 프로젝트.구조는 다음과 같습니다.
root project(부모 POM 파일에는 모듈 XML 요소를 가진 모든 서브모듈이 포함됩니다)(POM 패키징)
JAR 1 래퍼 메이븐 차일드 프로젝트 (POM 패키지)
JAR 2 래퍼 메이븐 차일드 프로젝트 (POM 패키지)
기존의 주요 메이븐 자녀 프로젝트(WAR, JAR, EAR .. 패키지)
부모가 mvn:install 또는 mvn:packaging을 통해 실행 중인 경우 강제로 하위 모듈이 실행됩니다.프로젝트 구조를 변경해야 하므로 이 경우 마이너스로 간주될 수 있지만, 마지막에는 고정적이지 않은 솔루션을 제공합니다.
에 관한 문제systemPath종속성의 항아리가 과도적 종속성으로 아티팩트를 따라 분산되지 않는다는 것입니다.제가 올린 글을 사용해 보세요.프로젝트 jar 파일을 Mavenize 하는 것이 가장 좋습니까, 아니면 WEB-INF/lib에 넣는 것이 가장 좋습니까?
그런 다음 평상시와 같이 종속성을 선언합니다.
그리고 바닥글 쪽지를 읽어주세요.
빠르고 더러운 해결책을 원한다면 다음을 할 수 있습니다(테스트 프로젝트 이외에는 추천하지 않습니다만, 메이븐은 이것이 적절하지 않다고 장황하게 불평할 것입니다).
필요한 각 jar 파일의 의존성 엔트리를 추가합니다.가능하면 perl 스크립트 또는 유사한 것을 사용하여 pom 파일에 복사/붙여넣습니다.
#! /usr/bin/perl
foreach my $n (@ARGV) {
$n=~s@.*/@@;
print "<dependency>
<groupId>local.dummy</groupId>
<artifactId>$n</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>\${project.basedir}/lib/$n</systemPath>
</dependency>
";
내가 찾은 이상한 해결책:
이클립스 사용
- 간단한(비매븐) Java 프로젝트 생성
- 기본 클래스 추가
- 모든 항아리를 클래스 패스에 추가하다
- export Runnable JAR (여기에서는 실행 방법이 없기 때문에 중요)
- 생성된 JAR에 필요한 라이브러리 추출을 선택합니다.
- 라이선스 문제를 결정하다
- 짠...생성된 jar를 m2repo에 설치합니다.
- 이 단일 종속성을 다른 프로젝트에 추가합니다.
건배, 발린트
신속하고 지저분한 배치 솔루션(Alex의 답변에 근거):
libs.bat
@ECHO OFF
FOR %%I IN (*.jar) DO (
echo ^<dependency^>
echo ^<groupId^>local.dummy^</groupId^>
echo ^<artifactId^>%%I^</artifactId^>
echo ^<version^>0.0.1^</version^>
echo ^<scope^>system^</scope^>
echo ^<systemPath^>${project.basedir}/lib/%%I^</systemPath^>
echo ^</dependency^>
)
다음과 같이 실행합니다.libs.bat > libs.txt. 그 후 엽니다.libs.txt그 내용을 의존관계로서 카피합니다.
제 경우 코드를 컴파일하기 위해 필요한 것은 라이브러리뿐이었고, 이 솔루션이 그 목적에 가장 적합했습니다.
당신의 문제에는 잘 맞지 않지만, 여기서 그만두겠습니다.요구 사항은 다음과 같습니다.
- 온라인 maven 저장소에서 찾을 수 없는 jar는 SVN에 있어야 합니다.
- 한 개발자가 다른 라이브러리를 추가해도 다른 개발자가 수동으로 설치할 필요가 없습니다.
- IDE(이 경우 NetBeans)는 자동 완성 및 도움말을 제공하는 소스 및 javadoc을 찾을 수 있어야 합니다.
먼저 (3)에 대해 설명하겠습니다.폴더에 있는 항아리를 최종 항아리에 Marge하는 것만으로 IDE는 이것을 이해할 수 없기 때문입니다.이것은, 모든 라이브러리를 올바르게 인스톨 할 필요가 있는 것을 의미합니다.다만, 「mvn install-file」을 사용해 인스톨 하는 것은 원하지 않습니다.
내 프로젝트에서 나는 메타비젯이 필요했다.여기 있습니다.
- 새 maven 프로젝트를 만듭니다(이 프로젝트를 "공유 립스" 또는 이와 유사한 이름으로 지정합니다).
- metawidget을 다운로드하여 zip을 src/main/lib로 압축 해제합니다.
- doc/api 폴더에는 javadocs가 포함되어 있습니다.콘텐츠의 zip을 만듭니다(doc/api/api.zip).
- 폼을 이렇게 수정해 주세요.
- 프로젝트를 빌드하면 라이브러리가 설치됩니다.
- 프로젝트에 의존관계로서 라이브러리를 추가하거나 (공유 립스 프로젝트에서 의존관계를 추가한 경우) 모든 라이브러리를 한 번에 가져오려면 공유 립스를 의존관계로서 추가합니다.
새로운 라이브러리가 생길 때마다 새로운 실행을 추가하고 모두에게 프로젝트를 다시 빌드하도록 지시합니다(프로젝트 계층으로 이 프로세스를 개선할 수 있습니다).
maven 저장소에 없는 서드파티 jar를 설치하려면 maven-install-plugin을 사용합니다.
다음은 순서입니다.
- 소스(웹 사이트)에서 jar 파일을 수동으로 다운로드합니다.
- 폴더를 만들고 그 안에 jar 파일을 저장합니다.
- 다음 명령을 실행하여 로컬 maven 저장소에 서드파티제 jar를 설치합니다.
mvn 설치: install-file -Dfile= -DgroupId= -DartifactId= -Dversion= -Dpackaging=
아래는 예를 들어 Simonsite log4j에 사용한 것입니다.
mvn 설치: install-file=/Users/athanka/git/MyProject/repo/log4j-rolling-appender.jar -DgroupId=uk.org.simonsite -DartifactId=log4j-rolling-appender -Dversion=201507-2059 -Dpackaging=jar
pom.xml에는 다음과 같은 의존관계가 포함됩니다.
<dependency> <groupId>uk.org.simonsite</groupId> <artifactId>log4j-rolling-appender</artifactId> <version>20150607-2059</version> </dependency>mvn clean install 명령을 실행하여 패키지를 만듭니다.
다음은 참조 링크입니다.
https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
여기서 좋은 답을 찾지 못한 사람들을 위해, 이것이 우리가 필요한 모든 의존성이 담긴 병을 얻기 위해 하고 있는 일입니다.이 답변(https://stackoverflow.com/a/7623805/1084306)에서는 Maven Assembly 플러그인 사용을 언급하고 있지만 실제로는 답변에 예가 없습니다.그리고 답을 끝까지 읽지 않으면(매우 장황하다) 놓칠 수 있습니다.pom.xml에 다음 항목을 추가하면target/${PROJECT_NAME}-${VERSION}-jar-with-dependencies.jar
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<!-- get all project dependencies -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- MainClass in mainfest make a executable jar -->
<archive>
<manifest>
<mainClass>my.package.mainclass</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
@alex lehmann's의 답변에 대한 코멘트에서 python 코드를 언급하여 여기에 올렸습니다.
def AddJars(jarList):
s1 = ''
for elem in jarList:
s1+= """
<dependency>
<groupId>local.dummy</groupId>
<artifactId>%s</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/manual_jars/%s</systemPath>
</dependency>\n"""%(elem, elem)
return s1
이것은 그것들을 POM에 추가하는 방법에 대한 해답이 되지 않고, 생각지도 못할지도 모르지만, lib dir를 클래스 패스에 추가하는 것만으로 효과가 있을까요?Maven 저장소에 추가하고 싶지 않은 외부 항아리가 필요할 때 그렇게 해야 한다는 것을 알고 있습니다.
이게 도움이 됐으면 좋겠다.
이 프로젝트에서 효과가 있는 것은 Arkimedes Trajano가 쓴 것이지만, 우리는 다음과 같은 것을 .m2/settings.xml에 포함시켰습니다.
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://url_to_our_repository</url>
</mirror>
*를 central로 변경해야 합니다.따라서 그의 답변이 적절하지 않으면 설정을 확인해야 합니다.xml
난 그저 빠르고 더러운 해결책을 원했을 뿐이야Nikita Volkov에서 스크립트를 실행할 수 없습니다: 구문 오류 + jar name에 엄격한 형식이 필요합니다.
jar 파일명의 형식에 관계없이 동작하는 이 Perl 스크립트를 작성했습니다.이 스크립트는 xml로 의존관계를 생성하기 때문에 pom에 직접 붙여넣을 수 있습니다.
이 스크립트를 사용하려면 스크립트의 기능을 이해해야 합니다.또한 이 스크립트를 변경해야 할 수도 있습니다.lib폴더 및 값groupId또는artifactId...
#!/usr/bin/perl
use strict;
use warnings;
open(my $fh, '>', 'dependencies.xml') or die "Could not open file 'dependencies.xml' $!";
foreach my $file (glob("lib/*.jar")) {
print "$file\n";
my $groupId = "my.mess";
my $artifactId = "";
my $version = "0.1-SNAPSHOT";
if ($file =~ /\/([^\/]*?)(-([0-9v\._]*))?\.jar$/) {
$artifactId = $1;
if (defined($3)) {
$version = $3;
}
`mvn install:install-file -Dfile=$file -DgroupId=$groupId -DartifactId=$artifactId -Dversion=$version -Dpackaging=jar`;
print $fh "<dependency>\n\t<groupId>$groupId</groupId>\n\t<artifactId>$artifactId</artifactId>\n\t<version>$version</version>\n</dependency>\n";
print " => $groupId:$artifactId:$version\n";
} else {
print "##### BEUH...\n";
}
}
close $fh;
Java에서 scope='system' 접근 방식을 위한 솔루션:
public static void main(String[] args) {
String filepath = "/Users/Downloads/lib/";
try (Stream<Path> walk = Files.walk(Paths.get(filepath))) {
List<String> result = walk.filter(Files::isRegularFile)
.map(x -> x.toString()).collect(Collectors.toList());
String indentation = " ";
for (String s : result) {
System.out.println(indentation + indentation + "<dependency>");
System.out.println(indentation + indentation + indentation + "<groupId>"
+ s.replace(filepath, "").replace(".jar", "")
+ "</groupId>");
System.out.println(indentation + indentation + indentation + "<artifactId>"
+ s.replace(filepath, "").replace(".jar", "")
+ "</artifactId>");
System.out.println(indentation + indentation + indentation + "<version>"
+ s.replace(filepath, "").replace(".jar", "")
+ "</version>");
System.out.println(indentation + indentation + indentation + "<scope>system</scope>");
System.out.println(indentation + indentation + indentation + "<systemPath>" + s + "</systemPath>");
System.out.println(indentation + indentation + "</dependency>");
}
} catch (IOException e) {
e.printStackTrace();
}
}
언급URL : https://stackoverflow.com/questions/364114/can-i-add-jars-to-maven-2-build-classpath-without-installing-them
'source' 카테고리의 다른 글
| Java String에는 몇 글자를 사용할 수 있습니까? (0) | 2022.08.17 |
|---|---|
| java에서 null이 있는 형식 캐스팅 중 예외가 없습니다. (0) | 2022.08.17 |
| 스크립트 태그 vue2의 js 코드에서 사용자 지정 이벤트 듣기 (0) | 2022.08.17 |
| 비동기 HTTP 요구를 호출해야 하는 VueJ 라이프 사이클 훅은 무엇입니까? (0) | 2022.08.17 |
| Eclipse에서 커버리지 강조 표시 지우기 (0) | 2022.08.17 |