_를 어떻게 제거합니까? 간단한 빌드 도구로 빌드 + 게시 된 아티팩트의 postfix?
간단한 빌드 도구를 사용하여 몇 가지 Java 전용 프로젝트를 빌드하고 있습니다. 예를 들어 sbt publish-local을 사용하여 프로젝트에서 아티팩트를 게시하면 결과 아티팩트의 이름에 Scala 버전이 추가됩니다. Scala 프로젝트를 사용하면 이것은 의미가 있지만 Java 전용 프로젝트이므로 그렇지 않습니다. Scala 버전의이 접미사를 어떻게 비활성화합니까? 아니면 할 수 있습니까?
참고로 sbt 0.11.1, Scala 2.9.1 및 .sbt 파일을 빌드 구성에 사용하고 있습니다 (전체 프로젝트 구성으로 이동해도 문제가되지 않습니다).
Artifact.artifactName이 구현되고 궁극적으로 사용되는 방법을 살펴본 후 이것을 끄는 방법은 crossPath 설정에 대해 false를 지정하는 것 같습니다. 이것은 xsbt wiki의 빠른 구성 예제 중 하나에 설명되어 있습니다.
http://www.scala-sbt.org/release/docs/Examples/Quick-Configuration-Examples
// disable using the Scala version in output paths and artifacts
crossPaths := false
이것은 기본 아티팩트 수정 아래의 xsbt 위키에 문서화되어 있습니다. 해당 페이지에서 :
예를 들어 분류 자 또는 교차 경로없이 최소 이름을 생성하려면 다음을 수행하십시오.
artifactName := { (sv: ScalaVersion, module: ModuleID, artifact: Artifact) => artifact.name + "-" + module.revision + "." + artifact.extension }
나는이 질문이 오래되었다는 것을 알고 있지만, 나 자신에게 똑같은 질문을 해왔고, 실제로 이것을 할 수있는 매우 간단한 방법이 있습니다. 당신이해야 할 일은 %대신에 의존성을 선언하는 것입니다 %%.
% : 제공 한 문자열에서 Ivy 모듈 ID를 구성하는 데 사용되는 방법입니다.
%% : groupID 뒤에 사용하면 프로젝트의 Scala 버전 (예 : _2.10)이 아티팩트 이름 끝에 자동으로 추가됩니다.
http://alvinalexander.com/scala/sbt-how-to-manage-project-dependencies-in-scala
허용 대답은 엄격하게 정확 동안, 당신이해야 결코 설정하지 crossVersions에 false공개 된 스칼라 유물에. 임베디드 스칼라 버전은 다른 버전의 Scala 라이브러리가 바이너리와 호환되지 않을 수 있기 때문에 중요한 호환성 기능입니다.
만 설정 crossVersions에 false엄격하게 자바입니다 그 문제들처럼, 프로젝트.
'Program Club' 카테고리의 다른 글
| 중간에 인수가있는 PowerShell 별칭을 작성하려면 어떻게해야합니까? (0) | 2020.11.21 |
|---|---|
| CSS3 단방향 전환? (0) | 2020.11.21 |
| Windows에서 cd / d % ~ dp0 명령은 무엇을 의미합니까? (0) | 2020.11.20 |
| Git 상태 무시 줄 끝 / 동일한 파일 / Windows 및 Linux 환경 / Dropbox / mled (0) | 2020.11.20 |
| Haskell의 <|> 연산자는 무엇을합니까? (0) | 2020.11.20 |