2008-11-13 9 views
4

NetBeans 프로젝트에 .jar/라이브러리를 추가하여 저장소에 커밋 할 수있는 방법을 찾는 데 어려움을 겪고 있습니다.Netbeans과 Subversion을 함께 사용하여 라이브러리와 함께 즐기십니까?

라이브러리를 추가하는 일반적인 방법은 이미 로컬에있는 Netbeans 문서로 끝납니다. 내 프로젝트를 체크 아웃 누구나 내 필요한 라이브러리가 누락되었습니다.

그래서, 어떻게 라이브러리로 항아리를 데리러 넷빈즈을 말하고에 포함 할 수

수동으로 삽입 및 넷빈즈 프로젝트를 검색하는 동안 매달려 넷빈즈 결과를 해결하려고 ... 내 Subversion이 그것을 처리 할 수있는 방식으로 프로젝트를 수행합니까?

답변

0

좋아, 이제 작업 솔루션은 jar 파일에서 클래스 파일을 추출하여 소스 패키지 영역으로 덤프합니다. 그런 다음 모두 저장소에 커밋되고 배포 단계에서 별도의 "lib"디렉토리를 처리하지 않아도됩니다.

이 솔루션은 내가 원하는 모든 것을 수행하지만, 이런 식으로하는 것이 더러운 것 같습니다. 그것은 단지 끔찍하게 부서지고 잘못되었습니다. :-)

1

질문에 대한 답변은 아니지만 일반적으로 이러한 라이브러리를 Subversion 저장소에 포함하면 안됩니다. 대개 관리 할 필요가 없습니다. 당신이 원하는 것은 maven에서 일어나는 것과 유사한 중앙 저장소를 설정하는 것입니다. maven을 사용하는 경우 팀이 액세스 할 수있는 서버에 라이브러리의 로컬 저장소를 만들 수 있습니다. 이 라이브러리들에 대한 의존성은 pom.xml 파일에 입력되며 이것은 Subversion 저장소에 있습니다. 이제 팀 구성원이 Subversion에서 코드를 체크 아웃 할 때마다 이들은 모두 Maven 저장소에 액세스 할 수 있습니다.

[이 문서를 지금 참조하십시오. 찾으면이 대답을 편집합니다.]

2

이 문제를 해결할 수있는 몇 가지 방법이 있습니다.

A. 라이브러리를 정의 할 때 공통 위치에 대한 경로를 사용하십시오. 타사 앱과 함께 Program Files 또는/usr/local /에 설치된 JAR의 위치 또는 네트워크 드라이브와 같은 모든 컴퓨터에서 동일한 위치입니다.

그런 다음 코드를 체크 아웃하면 경로가 올바르며 Netbeans 작업 영역에서 라이브러리를 정의 할 필요가 없습니다.

B. project.properties 파일을 편집하여 상대 경로를 사용하십시오. project.properties 파일을 열고 "libs.LIBRARY_NAME.classpath=..."을 찾으십시오. 라이브러리가 정의되지 않은 경우 사용되는 "기본"위치가됩니다.

프로젝트와 관련된 경로를 사용하고 jar 파일을 프로젝트에 저장하려면이 값을 변경하십시오. 예를 들어 : - 그래서 당신이 동기화를 유지해야합니다 (즉, 라이브러리 이름에 버전 번호를 추가!) libs.Log4J.classpath=lib/log4j.jar

는 라이브러리 매니저에 라이브러리 정의는이 값을 무시합니다 있음을 유의하십시오.

C. 빈센트가 Maven과 같은 빌드 시스템을 사용할 것을 제안합니다. Maven 빌드 프로세스는 의존성 다운로드 등을 처리 할 것입니다. Netbeans에는 몇 가지 유명한 빌드 시스템 용 플러그인이 있습니다.

+0

그냥 수동으로 nbproject/project.properties를 변경하고 완벽하게 작동합니다 자세한 내용을 참조하십시오. – givanse

0

나는 내 자신의 세트를 다운로드하고이 프로젝트를 위해 로컬 드라이브에 두었습니다. NetBeans를 설치하고 다른 사람들에게 내가 한 일을 경고했습니다. 결국 ... 조금 더 확장 가능한 작업을해야합니다. :-)

+0

그래, 나는 이것이 받아 들일 수있는 방법을 이해하지 못한다. 저는 누군가가 첨부 된 모든 도서관을 컴파일하고 갈 준비가 된 상태에서 전복에서 벗어나 내 프로젝트를 포착 할 수 있기를 바랍니다. –

+0

동의합니다. 그래도 가능한 것 같지 않습니다. 우리가이 시대에이 문제를 겪고있을 수 있다는 것에 놀랐습니다. 나는이 모든 어리석은 문제가 오래전에 해결되었을 것이라고 생각했다. ... –

+0

이 항목은 이제 나에 의해 다른 대답으로 대체되었다. –

1

저는 NetBeans IDE 6.5.1을 사용하고 있습니다. 지금까지 발견 한 가장 좋은 해결책은 로컬 호스트의 필요한 라이브러리를 포함시키고 경로를 다음과 같이 변경하는 것입니다. 상대적인. 그런 다음 NetBeans file explorer에서 라이브러리를 수동으로 제거한 다음 컴퓨터의 OS 위치에서 수동으로 파일 탐색기로 복사해야합니다. 그렇게하면 NetBeans가 변경 사항을 감지하고 저장소에 커밋 할 수 있습니다.


참고 : 나는 매우 청소하고 업데이트 한 후 프로젝트를 다시 구축하는 것이 좋습니다.

1

컴파일하고 갈 준비 연결된 모든 라이브러리와 그것을 잡을 수 있도록 그 전복 아래에 그들 모두를 포함하는 것입니다 "그냥 처리"귀하의 프로젝트에 당신의 lib 디렉토리/항아리를 포장하는 쉬운 방법 당신의 라이브러리 폴더를 관리하여 "공유 라이브러리"옵션을 통해 프로젝트 디렉토리에 저장하십시오.

새 프로젝트를 만들 때 "라이브러리 저장 전용 폴더 사용"을 지정한 다음 제안 된 상대. lib 경로를 사용할 수 있습니다. 기존 프로젝트가있는 경우 해당 프로젝트의 속성, 라이브러리 범주 및 라이브러리 폴더 찾아보기를 편집 할 수 있습니다. 다시 한번 처음 실행하면 \ lib를 제안하고 기존 종속성을 해당 폴더에 복사하도록 제안합니다. 이러한 그래픽 작업은 James Schek의 'B'답변과 비슷한 결과를 제공해야합니다.

. \ lib에 새로 추가 된 libs로 프로젝트를 커밋하면 어디서나 체크 아웃하고 빌드 할 수 있어야하며 마지막 빌드시와 동일한 라이브러리 (동일한 버전)를 사용할 수 있어야합니다. 저지른.

이 기능이 NetBeans에 얼마나 오래 있는지 알 수 없습니다.

http://netbeans.org/kb/docs/java/project-setup.html#projects-shared-libraries

관련 문제