play1 에서 play deps 명령을 호출시 modules 디렉토리 밑에 설치된 module 파일이 'module의 설치된 절대 위치'로 저장되는 경우가 있다.
modules/spring-1.0.3 이 파일로 있고, /usr/local/play/modules/spring-1.0.3 이렇게 파일 위치만 저장되는 경우
play deps --forceCopy 명령어를 내려면 파일이 아닌 디렉토리로 modules이 설치된다.
관련 코드는 play1(참고 1.3.0)의 ./framework/pym/play/commands/deps.py , ./framework/src/play/deps/DependenciesManager.java참조한다.
1번 작업
./framework/pym/play/commands/deps.py 파일에서 -Dplay.forcedeps=true 로 변경한다.
2번 작업
./framework/src/play/deps/DependenciesManager.java의
install(ArtifactDownloadReport artifact) 메소드에서 force 값이 true인지 확인하고, modules로 파일 복사를 한다.
Boolean force = System.getProperty("play.forcedeps").equals("true");
...
} else {
// A module
String mName = from.getName();
if (mName.endsWith(".jar") || mName.endsWith(".zip")) {
mName = mName.substring(0, mName.length() - 4);
}
File to = new File(application, "modules" + File.separator + mName).getCanonicalFile();
new File(application, "modules").mkdir();
Files.delete(to);
if (from.isDirectory()) {
if (force) {
IO.copyDirectory(from, to);
} else {
IO.writeContent(from.getAbsolutePath(), to);
}
System.out.println("~ \tmodules/" + to.getName() + " -> " + from.getAbsolutePath());
} else {
Files.unzip(from, to);
System.out.println("~ \tmodules/" + to.getName());
}
'general java' 카테고리의 다른 글
[play2] intellij 사용시 - FAILED DOWNLOADS xalan#serializer;2.7.1!serializer.jar (0) | 2015.05.08 |
---|---|
[play2] org.slf4j#slf4j-api;1.7.7: configuration not found in org.slf4j#slf4j-api;1.7.7: 'compile'. It was required from org.slf4j#slf4j-simple;1.7.7 compile (0) | 2015.05.07 |
maven mvn:deploy 시 401 에러 (0) | 2015.04.27 |
[Guava] EventBus 예제 (0) | 2015.04.23 |
[Guava] Monitor 예제 (0) | 2015.04.21 |