Apache Groovy

소프트웨어 스크린 샷:
Apache Groovy
소프트웨어 정보:
버전: 2.4.5
업로드 날짜: 10 Dec 15
라이센스: 무료
인기: 10

Rating: nan/5 (Total Votes: 0)

그 기능의 대부분이 자바와 같은 구문을 사용하여 개발자들이 사용할 수 있도록, 파이썬, 스몰 토크 루비 같은 언어에서 영감을하고 있습니다.

아파치 그루비는 실제 산업 강도 응용 프로그램을 웹 응용 프로그램을 개발하는 쉘 스크립트를 작성, Groovy의 JUnit을 통합을 사용하여 간결하고 의미있는 테스트 케이스를 작성하거나, 프로토 타입 및 생산에 사용할 수 있습니다.

그루비는 기존의 모든 자바 객체 및 라이브러리와 깔끔하게 작동 및 응용 프로그램 개발 또는 스크립팅 모드에서 자바 바이트 코드로 바로 컴파일

특징 :.

는 기반으로 구축 자바의 강점하지만 파이썬, 루비와 스몰 토크와 같은 언어에서 영감을 추가 전원 기능을 가지고 있습니다
자바에 현대적인 프로그래밍 기능을 추가
도메인 특정 언어를 지원합니다
개발자의 생산성을 증가
테스트를 간소화
바로 자바 바이트 코드로 컴파일

이 릴리스의 새로운 기능 :

새로운 기능 :
생성자에 주석을 추가 지원하기 위해 @Builder InitializerStrategy 확장
개량:
그루비 아스키 문서의 각 섹션에 대한 설정 앵커.
DefaultGroovyMethods.xor에 대한 설명서에 사소한 오타 (왼쪽, 오른쪽)
Groovysh 코드 완성은 JDK (9)와 호환되지 않습니다 (소)
추가 원시적 배열에 가입 ()

버전 2.3.0의 새로운 기능 :

JDK 8 그루비를 실행하기위한 공식 지원
특색
@TailRecursive, @Builder 및 @Sortable 같은 새롭고 향상된 AST 변환
경로를 지원하는 새로운 NIO2 모듈
빠른 JSON 구문 분석 및 건물 라이트닝
폐쇄 매개 변수 형식 유추
새로운 마크 업 템플릿 엔진
사용 개선 Groovysh과 groovyConsole에 쉽게
새로운 GroovyAssert 테스트 유틸리티
더 @BaseScript 클래스 능력

버전 2.2.2의 새로운 기능 : INT 목표 유형

지원 INT / INT.
어떤 목표 유형이 지원 INT / INT.
T는, V는 하나 (INT, 짧은, 바이트, 문자, 긴) 인과 지원 T / V를.
이 @Deletgate는 스택 추적에 행 번호를 포함한다.
실행 & quot; 사용자가 & quot을 정의하는 경우에는 오류 메시지가 개선; 스크립트 방법.

버전 2.1.7의 새로운 기능 :

노멀 맵 스타일의 생성자 사용의 문서 제한 @Immutable를 사용하여
DOMCategory : 그것은 CDATA 섹션 인 경우 텍스트 () 노드 값을받지 않습니다
반환 형식으로 오버로드 연산자
그것이 있어야하지만 널 인수 호출 ambiguouseven하지
GroovyDoc는 @code와 @literal 태그 꺾쇠 괄호를 탈출하지 않습니다
JavaStubGenerator는 인스턴스 초기화를 지 웁니다
코드 @CompileStatic 사용하여 컴파일 오류에 설정 결과에 확산 연산자를 사용하는
(폐쇄)를 사용하여 클래스에 @CompileStatic 컴파일 오류로 이어집니다.
/ 빈과 오버로드 된 메서드의

사용 유형 검사가 활성화 된 경우 매개 변수가 실패 varags :

어떤 버전 2.1.5의 새로운 기능입니다
개미 groovyc는 @DelegatesTo과 @CompileStatic와 그루비 클래스를 컴파일 않는 NoClassDefFoundError가 발생합니다
META-INF / 서비스 / org.codehaus.groovy.runtime.ExtensionModule 그루비-all.jar에서 누락
@CompileStatic 컴파일 방법에 오류 메시지 참조가 모호과 gradle 빌드에서 때때로 실패합니다. 사이에서 선택할 수 없습니다
잘못된 흐름 입력 리셋 가지 경우 후

버전 2.1.4의 새로운 기능 :

지원 AST는 스크립트에서 @Field에 의해 생성 된 필드에 변환
@DelegatesTo는 @Documented한다

이 버전의 새로운 기능 2.0.6 / 2.1.0 RC 1 :

@DelegatesTo 주석 : IDE의 도움과 정적 유형 검사 및 컴파일러는 그 방법으로 호출 알고 Gradle 파일을 빌드에서처럼 DSL을위한 좋은 - 메서드 매개 변수의 폐쇄는 방법의 또 다른 매개 변수에 위임된다.
사용자 정의 유형 검사 확장 : 그래서 당신은 당신의 자신의 논리를 컴파일시에 당신의 DSL을을 확인 입력 할 수 있습니다.
메타 주석 시스템 : 당신은 실제로 여러 다른 사람들과 함께 새로운 주석을 정의 할 수 있습니다 - 또한 하나의 사용자 정의 주석 여러 AST 변환을 적용 할 수있는 것을 의미한다.
groovyc 컴파일러에 대한 사용자 정의 기본 스크립트 클래스 플래그 : 그루비 스크립트를 컴파일 할 때 기본 스크립트 클래스를 설정합니다.
컴파일러 구성 스크립트 : 당신이 등을 적용 할 사용자 정의 파일 확장명, 다양한 컴파일 주문품을 지정처럼 그루비 컴파일러에 대한 다양한 구성 옵션을 정의 할 수 있습니다 ..

버전 2.0.4의 새로운 기능 :

그것은 우리가 정적 유형 검사에 관한 스텁 생성기와 제네릭뿐만 아니라 여러 수정하여 했어 몇 가지 중요한 문제를 해결합니다 정적 편집 기능을 제공합니다.

버전 2.0.0의 새로운 기능 :

컴파일러는 코드의 정확성에 대해 말할 수 있도록 정적 유형 검사.
응용 프로그램의 중요한 부분의 성능에 대한 정적 컴파일.
모듈화, 작은 기능 중심의 JAR 파일로 그루비 JAR 파일을 분할하고 당신이 당신의 자신의 확장 모듈을 생성시키는.
JDK 7 프로젝트 코인 구문 향상, 그루비는 여전히 자바 사촌과 함께 가능한 한 친절 있도록.
JDK 7 호출 동적 통합은 동적 언어에 대한 JVM의 지원 혜택을 누릴 수 있습니다.

버전 1.8.6의 새로운 기능 :

그루비 1.8.6은 몇 가지 사소한 개선 및 새로운 기능을 기본적으로 유지 보수 릴리스이다.

버그

버전 1.8.1의 새로운 기능 :
AntBuilder에서 버그 - DemuxOutputStream이 사용되어야한다
지역 변수에 대한 수정은 무시됩니다
배열 매개 변수와 그루비 방법은 자바에서 가변 인자 스타일로 불려 갔을 경우 공동 컴파일 실패
Mac OS X 용 그루비 콘솔 아이콘 깨진
만 스크립트의 루트 예외가 인쇄됩니다
@ToString은 열거 유형에 대해 작동하지 않습니다
반환 값과 세터를 갖는 것은 컴파일 실패 후 여러 setter를 생성 할 수있는 스텁 생성 원인
스텁 생성은 일반적인 서명 실패
java.lang.ClassFormatError : 불법 클래스 행째 그루비 / JMX / 빌더 / 패키지 정보 & quot; 클래스 파일 그루비 / JMX / 빌더 / 패키지 정보에
가변 인자는 GroovyDoc으로 표시되지 않습니다
Java5 configureClassNode 매개 변수의 주석 처리를하지 않습니다
ClassNode.equals 다른 유형의 개체에 대한 ClassCastException이 발생합니다
개량:
MissingMethodException이를 생성 할 때 때 문자열을 잘라 내기
? 삼항 연산자 : 실행 전의 줄 바꿈을 처리하지 않습니다; & quot; 우아하게
) (URL.getText (), URL.newInputStream ()와 URL.newReader에 연결 구성 옵션 추가
포도 설정을 기본 로컬 받는다는의 repo 추가
) (PreparedStatement.addBatch을 지원하기 위해
ClassNodes로 작업 할 때 getField ()을 (게으른 초기화)를 작동하기 전에, 때로는 getFields ()를 호출 할 필요가
변수에 대한 강제 주석은 AST 변환에 포함 할
groovyConsole에 더 일반적인 파일 형식을 지원합니다 .story, .gpp 및 .grunit을
그루비 콘솔 @ThreadInterrupt은 선택 사항 확인
사용자 정의 예외 클래스는 @Interrupt의 AST 변환에 던져 질 수 있도록
속성에 액세스 할 때 @EqualsAndHashCode 대신 X의) getX를 (사용한다
재귀 적으로 객체와 함​​께 작동하도록 JsonBuilder 사용
@Newify는 미리 정의 된 클래스가 아니라 동일한 스크립트에 정의 된 클래스를 작동
ASTTransformationCustomizer 핸들 주석 매개 변수를 확인
IDENTITY 폐쇄가 제공 될 수 있습니다
마이너 개선이 DGM의 그렙 (), () 찾아 findall은의 인수 없음의 버전을 제공하지 않습니다 () 메서드
EqualsAndHashCode의 속성을 '포함'
GroovyShell에 대한 더 나은 탭 완성
(findResult에서 복제) findResults 개체 / 수집 /지도 향상 패치
Map.inject ()가 3 인자 (집, 키, 값)와 폐쇄를 허용하지 않습니다, 단지 2 (콜렉터의 Map.Entry)
작가 지원 JsonBuilder 편리 할 것
collectNested에 DGM collectAll 이름을 바꿉니다 - 시간 / 비하 할 목적으로되고 결국 제거하는 별칭으로 원래의 유지
대한 속기 제공해야 그루비 :.} {수집을 평평하게 ()
새로운 기능 :
명령 줄 스크립트를 실행할 때 시작 (AWK 또는 펄 가깝다) END 방법을 실행하는 것이 가능해야
컬렉션, 반복자, 배열에 걸릴 방법을 추가
이 중첩 된 그룹에 대한 매개 변수의로 목록 또는 폐쇄의 배열 GROUPBY

버전 1.8.0의 새로운 기능 :

특히 DSL을 정의를위한 그루비의 동적 표현.
런타임 성능을 제공합니다.
동시 및 병렬 실행.
계약에 의한 설계.
함수 프로그래밍 스타일.
일류 JSON을 지원합니다.
컴파일시 메타 프로그래밍.
도우미 및 라이브러리 추가 더.

버전 1.8.0 RC 4의 새로운 기능 :

새로운 최적화 코드에서 짧은 오심.
모호한 GEP-3 버그.

버전 1.7.10의 새로운 기능 :

수정 된 버그를 :
StreamingMarkupBuilder은 잘못된 XML을 생성 할 수 있습니다.
그루비 빌드가 테스트 실패 - 테스트 RedundantCastInStubTest가 실패합니다.
개량:
, 패키지 -를 오버라이드 (override)에 대한 지원을 추가 Groovydoc의 하위 클래스에 문 서 또는 클래스 템플릿.

1.7.9 버전의 새로운 기능 :

버그 :
예외 서브 클래스의 ctor에 사용할 때 문자열에 강요하지 GString
Groovysh '역사 리콜'(1으로 해제) 잘못된 항목을 따기 것 같다
ExpandoMetaClass.class.metaClass에 유래를 생성
LoadConfiguration *이로드되지 .JAR
유니 코드 이스케이프 시퀀스의 잘못된 처리 소스 위치를 계산
생성 된 코드의 경고에 ​​그루비 컴파일 결과
예외 java.lang.VerifyError & quot; 스택 & quot 개체 / 배열을 찾을 것으로 예상; 입력 방법 notyped 메서드를 재정의 할 때
스텁 생성기는 혼합 된 단일 및 이중 따옴표 문자열을 탈출하지 않습니다
정적 내부 클래스가 제대로 컴파일되지 않습니다
이전 DB2 드라이버 준비된 문에 널 매개 변수 오류
스크립트 '클래스 노드는 올바른 소스 위치가 없었다
StreamingMarkupBuilder은 잘못된 XML을 생성 할 수 있습니다
개량:
메타 클래스를 통해 정의 속성 읽기 접근이 폐쇄에서 매개 변수 목록 터미네이터없이 작동하지 않습니다
String.padXXX에 대한 GDK의 groovydocs은 매우 명확 [새로운 문구를 부착] 없습니다
오타 (목록 - & #의 X3E,지도) GDK의 다큐 멘 테이션 코멘트에
직접 메서드 호출하는 방법을 구현
새로운 기능 :
포도 명령 제거 및 / 또는 & quot 업데이트 할 수 없습니다; 포도 & quot을;
태스크:
Groovy 스크립트를 다시 작성

버전 1.8.0의 새로운 기능 RC 1 :

버그 :
Groovysh '역사 리콜'(1으로 해제) 잘못된 항목을 따기 것 같다
LoadConfiguration *이로드되지 .JAR
예외 java.lang.VerifyError & quot; 스택 & quot 개체 / 배열을 찾을 것으로 예상; 입력 방법 notyped 메서드를 재정의 할 때
정적 방법에 사용되는 경우 @Log 또는 Log4j는 @ 만들어 사용 로그 변수는 컴파일러 오류가 발생합니다
콘솔은 이제 아이비 의존성을 가지고 그루비 모두-1.7.6.jar에서 시작
정적 내부 클래스가 제대로 컴파일되지 않습니다
& quot; anystring & quot; 바이트 []는 java.lang.NumberFormatException의를 던졌습니다 : 입력 문자열 : & quot; anystring & quot을;
개량:
@ThreadInterrupt가 자동으로 스크립트를 콘솔에 추가
선호 ClassHelper.make 새로운 ClassNode 이상 (클래스) (클래스)
새로운 기능 :
포도 명령 제거 및 / 또는 & quot 업데이트 할 수 없습니다; 포도 & quot을;

이 버전의 새로운 기능 1.8.0 베타 4 : 원시 정수 계산에

지속적인 성능 개선 작업.
바이너리 배포판의 라이브러리에 GPars의 묶기.
내장 된 JSON slurper 및 JSON 파서와 JSON을 지원합니다.

이 버전의 새로운 기능 1.8.0 베타 3 :

확장 명령 표현이 할당의 오른쪽에 사용할 수 있습니다.
@Log AST 변환은 자신의 로깅 요구에 사용자 정의 할 수 있습니다.
지도는 지금 isCase () 메소드가 있습니다.
@GrabResolver의 @GrabResolver으로 바로 가기 (& quot;에 http : // 일부 / URL & quot;).
(컬러로; 블루 & quot & quot) 문자열을 열거 형으로 강제 할 수 있습니다.
폐쇄 메모이 제이션 및 트램 폴린을 지원합니다.
내장 된 스크립트의 실행을 중지하는 @ThreadInterrup, @ConditionalInterupts 및 @TimedInterrupt의 AST 변환
분 () / 최대 () (값)에지도의 방법.
당신의 AST 변환에 사용하기 위해, AST 노드에서 노드의 메타 데이터를 저장하는 기능.

이 버전의 새로운 기능 1.8.0 베타 2 : 빌드에있는 모든 파일을 통해 유출

일반 타입 선언.

버그

버전 1.7.5의 새로운 기능 :
어설의 구문 분석은 '시험'과 '메시지'사이 때 줄 바꿈에 실패
객체가 클래스 & quot 선언의 인스턴스가 아닌, 봄 / CGLIB 프록시는 예외 & quot 던져;
열거 가진 & #의 X3E을위한 손으로 만들어진 생성자를 제공 할 필요가 1 필드
Exponantiation
Groovy 스크립트 파일이 아닌 다른 URL에서 클래스를 새로 고칠 수 없습니다
테스트 / 범위를 추가 (공동 편집의 클론에 대한 것은 원시적 필드 인터페이스 실패)
컴파일러는 switch 문에 대해 여러 기본 케이스를 생각하지 않습니다
스텁 발생기는 스텁의 합성 방법을 나타낸다는하지 말아야
늘 소스에서 그루비 1.7.4 구축
생성 createCallSiteArray는 JVM에 비해 너무 큽니다
IllegalArgumentException가 함께 체인에서 사용할 때 카레 방법은 실패
DefaultGroovyMethods # 고유 O (n²) 성능
DGM # consumeProcessOutput은 (프로세스, StringBuffer를, StringBuffer와는) 만 StringBuffers을 받아
개인 정적 멤버를 정의하려고 @Immutable 클래스, 실패
DGM.eachLine ()는 잘못된 결과를 반환
함께 상속 및 제네릭 사용에 컴파일 오류
암시 적이 다른 하나의 비 정적 내부 클래스에서 제대로 전달 취득에 실패
라운드 트립 속성의 값에 개행 문자 참조를 포함하는 XML 문자 참조를 제거
모양을 제공 할 때 응답 이미 구글 앱 엔진에 최선을 다하고 있습니다
JavaStubGenerator이 제대로 배열 유형의 특성을 가진 주석을 생성하지 않습니다
BlockStatement의 변수 범위는 ReturnAdder 내부 소실
ResourceBundle를 1.7 베타 1
groovy.util.slurpersupport.NoChildren의 그루비 진실은 거짓이어야한다
의 ClassFormatError은 제네릭 형식을 반환하는 배열 인수하는 방법이 일반적인 인터페이스를 확장
통화 같은 Integer.valueOf 대 새로운 정수 () ()에 대한 FindBugs 오류
unaryMinus는 짧은 바이트 실패
NPE의 내부 클래스 결과에서 외부 속성 / 메소드를 액세스
정적 필드를 슈퍼 클래스의 서브 클래스 정적 메서드에 규정되지 않은 참조는 컴파일에 실패
개량:
findResult 및 findAllResults 개체 / 수집 /지도 향상 패치
같아야 폐쇄 호출을 주장
분류 성능 및 메모리 향상
컴파일러에 여러 파일 확장자 지원 추가
새로운 기능 :
그들이 적용해야 그루비 소스의 파일 확장명을 정의 할 수있는 전세계의 AST 변환에 대한 메커니즘을 제공한다
스텁 발전기 테스트 인프라를 제공
JList의에 합성 바인딩을 추가

버전 1.7.4의 새로운 기능 :

클로저 지금 & quot이다; 호출 & quot ;.
새로운 AST 변환.
$ / ... / $와 문자열에 대한 추가 구문은, 예를 들어 $ / A / B & # x5c에 대한처럼, 다양한 탈출 코너 케이스를 회피하기 위해, C $$ $ // $
Map.countBy 같은 새로운 GDK 방법 {}, Map.collectEntries {}, Date.putAt () (첨자 연산자), Date.updated ().
TR과 같은 새로운 String 방법 (), stripMargin (), stripIndent는 (), (UN)의 확장 (),
지도의 withDefault {} 방법,
폐쇄의 ncury ()와 rcury ()

버전 1.7.3의 새로운 기능 :

새 AST 변환, @Synchronized (동기화의 안전한 사용) 및 (예외 생성자를 상속을위한 좋은) @InheritConstructors 같은
) (/) (첫 번째 / 마지막 머리 () / 꼬리 () 목록과 일관성을 위해 배열의 메소드 (원시적 배열이 아직 적용되지 않습니다)
일부 가장자리 경우 계산에 더 나은 결과를위한 몇 가지 BigDecimal를 처리 개선
속성에 대한 고정 수입에 대한 업데이트
당신은 CAL [DAY_OF_WEEK = 월요일 날짜에 새로운 방법을 수행 할 수 있도록
새로운 문자열 처리 방법, UNIX의 TR은 (), () 확장) (투자 / unexpand를 ()뿐만 아니라 stripIndent ()와 stripMargin (등)
맥 OS X에서 그루비 스윙 콘솔에 대한 좋은 그루비 아이콘

개발자의 기타 소프트웨어 Apache Software Foundation

코멘트 Apache Groovy

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!