2013-12-09 5 views
1

scala jar를 시작할 수 없습니다. 내가 그것을 실행할 때 오류 "스레드에서 예외"GET 주 "java.lang.NoClassDefFoundError가 : 스칼라/수집/불변/목록"스칼라 라이브러리가로드되지 의미하는 것 같다 ...scala & intellij : 실행 가능한 jar를 만드는 데 어려움이 있습니다

enter image description here

이것은 이슈 창에 많은 정보를 보여주는 스크린 샷입니다.


매니페스트 버전 : 1.0 클래스 경로 : libs와/스칼라 라이브러리 - 2.10.0.jar libs와/평민 로깅 - 1.1.1.j AR libs와/jcip 여기 매니페스트입니다 -annotations-1.0.jar libs/jwnl-1.4_rc3.jar libs/laf-plugi n-7.2.1.jar libs/laf-widget-7.2.1.jar libs/miglayout-core-4.2.jar lib s /miglayout-swing-4.2.jar libs/scala-actors.jar libs/scala-library.ja r libs/scala-swing.jar libs/slf4j-api-1.6.4.jar libs/slick_2.10-1.0. 0 .jar libs/sqlite-jdbc-3.7.2.jar libs/substance-7.2.1.jar libs/trident -7.2.1-swing.jar 메인 클래스 : Fene 트레


나는 "자바 XF의 myJar.jar"를 입력하면, 디렉토리에 압축을 푼 파일이 있습니다 : - class 파일 - libs와 폴더, 스칼라 - library.jar을 포함하는 라이브러리가이 & scala-library-2.10.0.jar (충돌을 피하기 위해 매니페스트에이 두 파일 중 하나만 지정했습니다)

도와 주시겠습니까?

+0

Maven을 사용해 보셨나요? –

답변

0

저는 스칼라를 처음 접했지만 문제가 무엇인지 알지 못합니다. 그러나 필요한 모든 libs를 포함하는 "fat jar"를 컴파일했습니다.

나는 이것을 성공적으로 수행하기 위해 https://github.com/sbt/sbt-assembly을 사용 해왔다.

+0

고마워요,하지만 sbt를 사용하는 것을 꺼려합니다, 나는 scala를 위해 특별히 만들어 졌음을 알고 있습니다. 그러나 제가 선택할 때 그래픽 툴을 사용하는 것을 선호하지 않습니다! – lolveley

+0

IntelliJ IDEA 13에는 [SBT 통합] (http://blog.jetbrains.com/idea/2013/12/intellij-idea-13-is-released-work-miracles-in-java-and-beyond/)이 있습니다. . SBT는 Typesafe 자체에서 지원되고 유지 관리되므로 IntelliJ 컴파일러에 비해 SBT를 사용하기로 결정하는 것이 좋습니다. 또한이 프로젝트를 다른 사람들과 함께하면 프로젝트를 빌드 할 때 더 많은 옵션을 가질 수 있기 때문에 감사 할 것입니다. –

+0

어쩌면 ...어쨌든, intellij에서 나는 이전의 유물을 삭제하고 새로운 유물을 만들었습니다. 그리고 나는 스윙 창을 시작할 수 있습니다. 그러나 테마 API는 인식되지 않습니다. 즉, 스칼라 스윙 창을 개선하기 위해 "물질보기 및 느낌"을 사용합니다 ([here] (http://insubstantial.github.io/insubstantial/substance/docs/getting-started.html 참조).)) 명령 줄이 아닌 intellij에서 프로그램을 시작할 때 새 스킨이 표시됩니다. 어쩌면 내가 스택 오버플로에 대한 새로운 주제를 작성해야합니다. – lolveley

0

매니페스트에서 말하는 것처럼 보이지만 애플리케이션을 실행할 때 클래스 경로에 스칼라 라이브러리가 없거나 List를 가져올 때 혼란이 있습니다. 스칼라는 루트 Predef 구현을 사용하여 프로젝트에서 불변의 컬렉션 클래스를 자동으로 가져와야합니다.

Predef provides type aliases for types which are commonly used, such as the immutable collection types scala.collection.immutable.Map, scala.collection.immutable.Set, and the scala.collection.immutable.List constructors (scala.collection.immutable.:: and scala.collection.immutable.Nil). The types Pair (a scala.Tuple2) and Triple (a scala.Tuple3), with simple constructors, are also provided.

Predef in core Scaladocs

확인을 위해 귀하의 응용 프로그램 내에서 printing the classpath을보십시오.

비록 귀하의 질문과 관련이 없지만 SBT를 종속성 관리에 사용하는 것이 좋습니다 (IntelliJ IDEA 13 has full SBT integration support). IntelliJ를 사용하지 않는 공동 작업자는 SBT가 프로젝트 작업시 빌드 기술, 편집자 및 기타 툴링에 대한 더 많은 옵션을 제공하므로 더 행복해집니다.