Maven - 이클립스 Maven 연동 시 plug in 에러 날 경우
대략 이런 에러가 발생했을 경우.Multiple annotations found at this line: - Execution default-testResources of goal org.apache.maven.plugins:maven-resources- plugin:2.4.3:testResources failed: Plugin org.apache.maven.plugins:maven-resources-plugin:2.4.3 or one of its dependencies could not be resolved: Failed to collect dependencies for org.apache.maven.plugins:maven-resources-plugin:jar:2.4.3 () (org.apache.maven.plugins:maven-resources- plugin:2.4.3:testResources:default-testResources:process-test-resources) - Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (execution: default-compile, phase: compile) - CoreException: Could not get the value for parameter compilerId for plugin execution default-compile: PluginResolutionException: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.3.2 or one of its dependencies could not be resolved: Failed to collect dependencies for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 (): ArtifactDescriptorException: Failed to read artifact descriptor for org.apache.maven:maven-plugin-api:jar:2.0.6: ArtifactResolutionException: Failure to transfer org.apache.maven:maven-plugin-api:pom:2.0.6 from http://repo1.maven.org/ maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-plugin-api:pom:2.0.6 from/to central (http:// repo1.maven.org/maven2): null to http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin- api-2.0.6.pom - CoreException: Could not get the value for parameter compilerId for plugin execution default-testCompile: PluginResolutionException: Plugin org.apache.maven.plugins:maven-compiler-plugin:2.3.2 or one of its dependencies could not be resolved: Failed to collect dependencies for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 (): ArtifactDescriptorException: Failed to read artifact descriptor for org.apache.maven:maven-plugin-api:jar:2.0.6: ArtifactResolutionException: Failure to transfer org.apache.maven:maven-plugin-api:pom:2.0.6 from http://repo1.maven.org/ maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-plugin-api:pom:2.0.6 from/to central (http:// repo1.maven.org/maven2): null to http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin- api-2.0.6.pom - Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.4.3:resources failed: Plugin org.apache.maven.plugins:maven-resources-plugin:2.4.3 or one of its dependencies could not be resolved: Failed to collect dependencies for org.apache.maven.plugins:maven-resources-plugin:jar:2.4.3 () (org.apache.maven.plugins:maven-resources- plugin:2.4.3:resources:default-resources:process-resources) - Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin: 2.3.2:testCompile (execution: default-testCompile, phase: test-compile)
POM.xml을 확인해보면이렇게 되어 있을 것이고, 해결방법은 POM.xml에<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.lala.sarasa</groupId> <artifactId>msrdecision</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>msrdecision Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>hello</finalName> </build> </project>
이런식으로 디펜던시를 추가해주면 된다.(현재 날짜 기준으로 최신버전인 3.2.1은 되지 않는다.)<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.4.3</version> </dependency>
이렇게 작성해준 뒤에,1. 프로젝트 우클릭 > Run As > Maven Install2. 이클립스 프로젝트 탐색기에서 해당 프로젝트 클릭 후 F5(새로고침)3. 프로젝트 우클릭 > Maven > Update Project끝!출처:http://jin-study.blogspot.com/2014/03/maven-maven-plug-in.html
Thursday, May 27, 2021
Maven - 이클립스 Maven 연동 시 plug in 에러 날 경우
Tuesday, May 18, 2021
Argument 'getContext()' might be null
https://developer.android.com/guide/components/fragments.html?hl=ko#java
Fragment 생명주기에 보면, 다음과 같이 주의사항이 표시.
따라서 안전하게
다음과 같이 onAttach에서 context 와 activity를 복사해두자.
@Override
public void onAttach(Context context) {
mContext = context;
if (context instanceof Activity) {
mActivity = (Activity)context;
}
super.onAttach(context);
}
// detach에서는 변수 clearing 해주기 leak방지
@Override
public void onDetach() {
mActivity = null;
mContext = null;
super.onDetach();
}
출처: https://ciwhiz.tistory.com/282 [ciwhiz's garret]
Monday, May 17, 2021
Suspicious 'List.remove()' in the loop
Suspicious 'List.remove()' in the loop
List<GPUImageFilter> imageFilterList = imageFilterGroup.getFilters();
for (int i = 0; i < imageFilterList.size(); i++) {
if (imageFilterList.get(i) instanceof GPUImageGaussianBlurFilter) {
imageFilterList.remove(i);
}
}
루프 도중에 삭제할 경우 사이즈와 인덱스 불일치 등이 일어나서 문제의 여지가 있다.
그럴땐 아래와 같이 Iterator를 이용하여 처리하자
List<GPUImageFilter> imageFilterList = imageFilterGroup.getFilters();
Iterator iter = imageFilterList.iterator();
while(iter.hasNext()) {
if(iter.next() instanceof GPUImageGaussianBlurFilter) {
iter.remove();
}
}
Wednesday, May 5, 2021
Resource IDs will be non-final in Android Gradle Plugin version 7.0, avoid using them in switch case statements
AndroidStudio를 4.2로 업데이트했더니 아래 문구가 Probleams에 뜬다.
Resource IDs will be non-final in Android Gradle Plugin version 7.0, avoid using them in switch case statements
현재 gradle 정식 최신 버전은
Android Gradle Plugin Version 4.2.0
Gradle Version 6.7.1
인데 Project Structure의 Project 탭의 버전 셀렉트버튼을 클릭해보니 7.0이 있다.
gradle version은 이미 7.0이 있었고 Gradle Plugin Version은 7.0.0-alpha 버전들이 쭈욱 있었다.
4.2.0에서 7.0이라니...
곧 둘다 버전을 7로 맞출려나 보다.
7.0에서 final이 빠진다니 미리 switch문을 if문으로 바꿔주자.
우선 AndroidStudio 에서 swith문을 if문으로 바꿀려면
swith문 위에서 Alt+Enter를 치면 나온다.
또는
Solution is simple:
- File > Settings > Editor > Intentions - Search: "replace switch"
or
- File > Settings - Search: "replace switch" > Editor > Intentions
and check the blank checkbox
https://stackoverflow.com/questions/28259009/how-to-automatically-convert-if-else-if-statement-to-switch
-
https://chrome.google.com/webstore/detail/video-cc-translator/fhbpmacbgklobobcieiaoibpjhdnmcfn youtube, udemy, udacity 자막 번역기 크롬브라우저 확장...
-
ALT + CTRL + T 를 입력하여 터미널을 띄운다. 터미널에서 ccsm 실행 $ccsm 실행 없을 경우 설치 $apt-get install compoziconfig-settings-manager 설치후 컴피즈 설정 관리자(cc...
-
우분투 gui 환경 지우기 / 우분투 gui 없애기 1. 우분투 데스크탑 환경 제거 sudo apt-get remove ubuntu-desktop 2. GNOME 데스크톱 매니저 제거 sudo apt-get remove gdm3 3. 그래픽...