2011-02-04 4 views
1

Java 6.0에서 프로그램을 작성했지만 일부 클라이언트에만 5.0이있는 것으로 나타났습니다.내 프로젝트에서 Java 소스 코드 사용

문제는 6.0에있는 많은 기능이 아직 5.0에 없다는 것입니다. 예를 들면 :

  • JTable의 정렬, 필터링 기능
  • SwingWorker의 클래스

내 질문은 :

  1. 그냥 내 자신의 프로젝트에 자바 6.0 소스 코드를 복사하는 것이 합법적이다 그래서 5.0 jre를 가진 나의 클라이언트는 그것을 실행할 수있다.
  2. 기술적 인 관점에서 볼 때, TableRowSorter, regexFilter와 같은 클래스 소스 코드를 내 자신의 프로젝트에 복사하여 작동 시키면 어떨까요?

감사

당신이에서 복사하는 소스 코드에 따라 달라집니다
+0

IMHO, 복사 된 코드를 지원할 필요가 있습니다. 보고 할 버그를 고치는 방법은 무엇입니까? 게다가 OpenJDK 6 코드베이스는 Sun JDK 6 코드베이스와 다릅니다. 나는 변호사가 아니지만 Sun (현재는 Oracle) JDK에서 코드를 복사하는 것이 어려울 것입니다. –

+2

나는 클라이언트가 Java 런타임을 최신으로 유지하도록 강력히 권장합니다. J2SE 5의 수명은 2007 년에 시작되었습니다. Java 5의 보안 허점을 찾아 업그레이드를 유도하십시오. – jarmod

+0

@jarmod, Java 5는 Java for Business를 여전히 가격으로 지원합니다. http://www.sun.com/software/javaforbusiness/getit_download.jsp. –

답변

0

. JavaSE에서? OpenJDK?

복사 할 위치에 관계없이 코드의 라이센스를 확인하십시오.

복사는 간단 할 수 있으며 클래스 만 복사하면됩니다. 그러나 특정 종속성이 많이있을 수 있으므로 많은 시간을 소비 할 수 있습니다. 버전 5에 이미 있던 변경된 클래스를 복사해야 할 때 문제가 발생할 것입니다. 버전 5에서는 코드에 대해 하나의 버전이 필요하고 다른 버전에는 더 새로운 버전이 필요합니다. 하지만 그 프로젝트에서 Java6 코드 만 사용한다면 괜찮습니다. 클래스를 다른 패키지로 옮기는 것도 옵션 일 수 있으며 잠재적으로 많은 작업이 가능합니다.

1

질문해야 할 질문은 다음과 같습니다. 클라이언트가 Java 6.0으로 업그레이드되지 않은 이유는 무엇입니까? 자유롭고 쉽게 할 수 있기 때문에 이유가 있어야하며 코드를 보내기 전에 무엇이 있는지 찾아야합니다.

2

아마도 OpenJDK 클래스는 GPL을 기반으로하므로 소스를 GPL로 저장해야합니다. 오라클 자바 클래스도 "소스를 통해 원하는 것을 할 수는 없습니다"라는 말로 인해 매우 나쁜 생각 일 수 있습니다.

Retroweaver를 사용하여 이전 버전의 Java에서 소스를 작동시킬 수는 있지만 Java 5를 사용하여 코드를 작동하도록 할 수 있습니다 (가능한 경우 Java 6 기능을 사용하는 경우). 업그레이드에서 얻을 수있는 것들.

+0

"..고객에게 업그레이드에서 얻을 수있는 것들을 말하십시오. "지금까지이 글에 대한 최고의 코멘트. –

관련 문제