diff options
author | Emmanuel Bourg <ebourg@apache.org> | 2015-10-07 21:31:37 +0200 |
---|---|---|
committer | Emmanuel Bourg <ebourg@apache.org> | 2015-10-08 00:22:19 +0200 |
commit | a426b9ed992fd467856bce42ce1b960379911d9b (patch) | |
tree | 36d74cbac8aba3f8ee28c3b8b842a419d4ce35ed /debian-java-faq/debian-java-faq.sgml | |
parent | 131e8e5f43cfb2e4276cf3d1eaae2825ceb2e0e5 (diff) | |
download | java-common-a426b9ed992fd467856bce42ce1b960379911d9b.tar.gz |
Removed the policy and the FAQ (now in the java-policy package)
Diffstat (limited to 'debian-java-faq/debian-java-faq.sgml')
-rw-r--r-- | debian-java-faq/debian-java-faq.sgml | 502 |
1 files changed, 0 insertions, 502 deletions
diff --git a/debian-java-faq/debian-java-faq.sgml b/debian-java-faq/debian-java-faq.sgml deleted file mode 100644 index 7935cdd..0000000 --- a/debian-java-faq/debian-java-faq.sgml +++ /dev/null @@ -1,502 +0,0 @@ -<!doctype debiandoc system> - -<book> - -<titlepag> -<title>Debian Java FAQ.</title> -<author> -<name>Torsten Werner</name> -<email>twerner@debian.org</email> -</author> -<author> -<name>Niels Thykier</name> -<email>niels@thykier.net</email> -</author> -<author> -<name>Javier Fernández-Sanguino Peña</name> -<email>jfs@debian.org</email> -</author> -<author> -<name>Sylvestre Ledru</name> -<email>sylvestre@debian.org</email> -</author> -<version>$Revision: 7831 $, $Date: 2013-06-05 21:17:15 +0100 $ - -<abstract> -Answers to Frequently Asked Questions on Debian and Java -(Note: some information is not up-to-date). Any changes/corrections to this -FAQ are appreciated. Please send them to the Debian Bug Tracking System as -described in <ref id="bugs">. -</abstract> - -<copyright> -This document may be freely redistributed or modified in any form -provided your changes are clearly documented. - -This document may be redistributed for fee or free, and may be modified -(including translation from one type of media or file format to another -or from one spoken language to another) provided that all changes -from the original are clearly marked as such. -</copyright> - - -</titlepag> - - -<toc> - - -<chapt>Introduction -<p> - -<sect>Introduction to this FAQ - -<P>This FAQ was started by Javier Fernández-Sanguino who on -February 1st, 2000 was enough to send a message to the debian-java -mailing list with the subject "How about a Debian-Java-FAQ?". Of -course, since "every idea is a responsibility" he had to do this himself -looking through the three month-long archive of the newborn mailing list. - -<p>The purpose of this FAQ is to be a place to look for all kinds of -questions a developer or user might have regarding Java as far as Debian -is concerned. It includes license issues, development packages available, -and programs related to building a Free Software Java environment. - -<p>Thanks go to all the (many) contributors from the debian-java mailing list, -who have made this document possible. Without their knowledge this -FAQ would not be at all possible since I only have a vague knowledge -of what they're talking about when I browse the list. - -<p>Special thanks go to Paul Reavis, whose previous Debian-JDK -informational page I used to add more information, and who made useful -suggestions to this document. Also to Peter Moulder who revised -thoroughly the FAQ and provided many suggestions, to Juergen -Kreileder, maintainer of Blackdown's debian packages who pointed out -some mistakes, and to Egon Willighagen, who has provided quite a lot -of proper patches to update its content. - -<p>This document does not address issues with other Linux -distributions, or with non-Debian-specific problems. - - -<sect>Location of this FAQ - -<p>This FAQ is published under the Debian Documentation Project -at <url id="http://www.debian.org/doc/manuals/debian-java-faq/">. -The <package>java-common</package> (available at -<url id="http://packages.debian.org/java-common">) provides an -HTML version for offline reading. The package version does not provide Text and -PDF versions currently (if you want them please submit a bug -'wishlist' to the package). Also, the web version might be more up-to-date -than the package's offline version. - -<sect id="bugs">Sending bugs on this FAQ - -<P>Please note that this FAQ is still outdated but gets updated step by step. - -<p> Please file bug reports against the java-common package if you find errors -or have suggestions on how to improve this document. However, make sure you -have read the latest online version of the english text available at <url -id="http://www.debian.org/doc/manuals/debian-java-faq/index.html"> before -filing a bug report. Translations, if available, and the offline version in -the java-common package might be out of date. - -<sect>What is Java? -<p> -Java is a programming language originally developed by James Gosling at -Sun Microsystems (which is now a subsidiary of Oracle Corporation) and -released in 1995 as a core component of Sun Microsystems' Java platform. -Since May 2007, Sun/Oracle with some partners like Red Hat provide a free -implementation released under the GNU GPL called OpenJDK. -More information can be found at <url -id="http://en.wikipedia.org/wiki/Java_%28programming_language%29" -name="Wikipedia">. - -<sect>Where can I ask questions about Java on Debian? - -<p>The appropriate place to ask such questions is <email>debian-java -at lists.debian.org</email>. You can subscribe at the <url -id="http://lists.debian.org/debian-java/" name="Debian Mailing Lists"> page. - -<sect id="moreinfo">Complementary information - -<p>Users might want to access some online sources to complement the -information available in this FAQ which might be, sometimes, too out -of date. The main source of information is the -<url id="http://wiki.debian.org/Java" name="Java entry"> at the Debian's wiki. - -<p>Since Ubuntu is based on Debian, some users might find it helpful -to check the tips on <url id="https://help.ubuntu.com/community/Java" -name="Installing Java"> on Ubuntu's wiki. - -<sect id="pending">Uncovered issues - -<p>This FAQ does not describe some issues due to lack of time and/or -information. If you are able to help in any of these, please, provide -them to the documentation maintainer: - -<list> - -<item>Information on how to setup a fully working Servlet engine (Application -Server) using Apache and Tomcat or information on how to setup non-free -application servers (such as WebSphere) in Debian. - -<item>Specific information targeted for non-i386 users (PowerPC users and AMD64 users), some can be found in Ubuntu's wiki. - -</list> - - - -<chapt>Java Development -<p> -<sect>What full-fledged Java development platforms are available in Debian? - -<p> If you are looking for an integrated, java virtual machine, -compiler and runtime environment Debian does provide them. Of course -that would depend on the Debian GNU/Linux version you are using, -generally speaking they would be: - -<list> - -<item>Sun's OpenJDK 6, available since the Debian 5.0 <em>Lenny</em> -release in the <em>main</em> section. - -<item>Oracle's OpenJDK 7, available since the Debian 7.0 <em>Wheezy</em> -release in the <em>main</em> section. - -<item>The combination GCJ, GIJ, and Classpath in the <em>main</em> section. -</list> - -<p>It is recommended to install one of the default-jdk or default-jre meta -packages which either installs OpenJDK or GCJ depending on the architecture and -Debian version. - -<sect id="free">What free platforms are there and how can I contribute? -<p> -Please help one of the Free Java implementations if you want to use Java -in Debian. There are a lot of projects that you can choose from: -<list> - -<item>openjdk: <url id="http://openjdk.java.net/"></item> - -<item>gcj and libgcj: <url id="http://gcc.gnu.org/java/"></item> - -<item>Classpath <url id="http://www.classpath.org">. Most of the -Standard classes for Java 1.2 (except Swing and RMI) are implemented by -the ClassPath project, it tries to build an alternative to jdk's 1.2 -core classes. (NB: This was removed from Squeeze)</item> - -<item>Mauve <url -id="http://sources.redhat.com/mauve/"> is a free suite to test if -these tools are 'compliant'.</item> - -</list> - -<p>Most free Java development is grouped under the <url -id="http://www.gnu.org/software/java/" name="Free Java -Project">. - -<sect id="license-concerns">Questions on platforms and license concerns - -<sect1 id="java6">Java 6 and 7 - -<p>There are binary packages available for the Java 6 and Java 7 platforms -since the Debian 7.0 ('wheezy') release. - -Once this is done and you have updated your package database. You can either -install the Java development kit: - -<example> -apt-get install openjdk-6-jdk -</example> - -or the Java runtime environment: - -<example> -apt-get install openjdk-6-jre -</example> - -<p>Similarly, you can install the Java 7 development kit: - -<example> -apt-get install openjdk-7-jdk -</example> - -or the Java 7 runtime environment: - -<example> -apt-get install openjdk-7-jre -</example> - -<p>You might want to update the alternatives system to have Sun's tools as the -default: - -<example> -update-java-alternatives -s java-1.6.0-openjdk-amd64 -</example> - -Or for java 7: - -<example> -update-java-alternatives -s java-1.7.0-openjdk-amd64 -</example> - -<sect1 id="openjdk">Oracle proprietary JVM - -<p>Since the version 7 of the OpenJDK, the proprietary JVM developments are done on the OpenJDK. That means that the OpenJDK is strongly tested and high quality. -<p>However, some users might want to use the Oracle JVM for the proprietary extensions (for example: the browser plugin). For such need, Debian provides a tool called <url id="http://packages.debian.org/sid/java-package" name="java-package">. The program make-jpkg will take an upstream archive and convert it to a Debian package. For example: -<example> - make-jpkg jdk-6u31-linux-x64.bin -</example> -<p>For more information see <url id="http://www.oracle.com/technetwork/java/index.html" name="Oracle Technology Network Java">. - - -<sect>Making Debian packages for Java programs. - -<sect1>Can the package go into main? - -<p>Yes, <em>but only if</em> it can be build and run with Java programs/tools -in main, and if it has a Debian compliant open source license. -If it needs programs from contrib or non-free, then is <em>must</em> -go into contrib or non-free, depending on the license of the program itself. - -<sect1>Is there a good example Debian package? - -<p>There are many Debian packages of both Java applications and libraries. -These may serve as an good starting point, as it can serve as an example -for making a new Debian package. - -<p>A good start would be to check out the pkg-java project on -Alioth: <url id="http://pkg-java.alioth.debian.org/">. - -<p>Note that there are many ways to make a Debian package, making use -of Ant or Makefiles does not really matter. -But, some tips for good practice are given on the pkg-java page: -<url id="http://pkg-java.alioth.debian.org/developers.html#rules"> and -<url id="http://pkg-java.alioth.debian.org/building.html">. - - -<sect1>What tools are available to make maintaining a Java packages easier? - -<p>Both cdbs and debhelper (dh7) have support for ant scripts. There -are also a number of specialized tools or build helpers. Have a look -at <package>javahelper</package> -or <package>maven-debian-helper</package>. <package>gcj-jdk</package> -also has a dh_javadoc tool.</p> - -<sect1>Linking package Javadoc to system javadoc. - -<p>The java-policy mandates that documentation must be linked with the -javadoc installed on the system. This can be done by passing javadoc -the "-link" argument or by using the <link> tag in ant. An -example: - -<example> -# command line example of linking against system doc. -javadoc -link /usr/share/doc/default-jdk-doc/api [other arguments] - -<!-- Ant example of linking against system doc --> -<javadoc [attributes]> - <link href="/usr/share/doc/default-jdk-doc/api/" /> - [other tags] -</javadoc> -</example> -</p> - -<p>The documentation must be installed at the time the linking is -done; so in the example cases above the package would need a -Build-Depends or a Build-Depends-Indep on -<package>default-jdk-doc</package>. -</p> - -<p> -Here is a short list of packages that can be used for reference: -<list> - <item><package>commons-jci</package></item> - <item><package>ow-util-ant-tasks</package></item> - <item><package>libhamcrest-java</package></item> - <item><package>libfreemarker-java</package></item> -</list> -</p> - -<chapt>Managing Java (for users and administrators) -<p> -By default Java programs shipped with Debian will use the java -in PATH. Some of them may respect the JAVA_HOME variable -(usually only if upstream supports this) or have command line -arguments to select a different java implementation. -</p> - -<p> -Unfortunately not all java implementations work as well as others. -So some times it may be necessary to change the current java and -Debian provides an easy way to change the default java in PATH by -using update-java-alternatives (from the <package>java-common -</package>). Some examples of how to do this are: -</p> - -<p> -<example> -# List available java implementations -$ update-java-alternatives --list -# Use openjdk-6 -$ update-java-alternatives --set java-6-openjdk -# Use the non-free sun java. -$ update-java-alternatives --set java-6-sun -# Use the non-free sun java only for the web plugin -$ update-java-alternatives --plugin --set java-6-sun -</example> -</p> - -<p> -For more information, please read the manpage (or the --help -output) of update-java-alternatives. Also please note that -update-java-alternatives is a frontend for update-alternatives. -</p> - -<chapt>Java Virtual Machines (JVM) -<p> -<sect>What JVMs are available in Debian? - -<p>The following JVMs are currently available in Debian Wheezy: - -<list> -<item><package>openjdk-6-jre</package></item> -<item><package>openjdk-7-jre</package></item> -<item><package>gcj-4.7-jre</package></item> -</list> - -</p> - -<p>The following lists JVMs available in Debian 6.0 release ('Squeeze'): - -<list> -<item><package>openjdk-6-jre</package></item> -<item><package>sun-java6-jre</package> (non-free)</item> -<item><package>gcj-4.4-jre</package></item> -</list> - -<p> -<sect>What Java Compilers are available in Debian? -<p> -<list> - -<item><package>openjdk-6-jdk</package></item> - -<item><package>openjdk-7-jdk</package></item> - -<item><package>gcj</package>. Compiles Java source to native code, -also source to bytecode, or bytecode to native code. Please note that the -support of the Java language is not completed.</item> - -</list> - -</p> - -<sect>What API do these JVMs provide? - -<p>Note that providing an API does not mean that everything is -implemented, and certainly not implemented correctly. - -<sect>Are there known problems? - -<p>Yes, there are. Some of these are reported as Debian bugs. You can -look up the bugs for a specific Debian package at the <url -id="http://www.debian.org/Bugs/" name="Debian Bug Tracking System">. As -a quick link, here are some packages: - -<list> -<item><url id="http://bugs.debian.org/java-common" name="java-common"></item> -<item><url id="http://bugs.debian.org/src:openjdk-6" name="openjdk-6"></item> -<item><url id="http://bugs.debian.org/src:openjdk-7" name="openjdk-7"></item> -<item><url id="http://bugs.debian.org/src:gcj-4.7" name="gcj-4.7"></item> -</list> - -<p>As common within the Debian project, the developers would -appreciate good bug reports on found problems. These include the good -description of the problem, the command that gives the problem, the -errors given when running the command, and any other information that -might be relevant. A good tool to report bugs is -<package>reportbug</package>. - -<sect>How can I use the proprietary version of the JDK/JRE from Oracle as a Debian package? -<p> -The package <url id="http://packages.debian.org/wheezy/java-package/" name="java-package"> provides an easy way to convert an upstream installer into a Debian package. It should be as easy as: -<example>make-jpkg ~/Downloads/jdk-6u31-linux-x64.bin -</example> -<p>For more information, see this <url id="http://sylvestre.ledru.info/blog/2012/02/29/java_package_replacement_of_sun_java6" name="Blog article"> - -<sect>Do I need a JVM to run a Java program in Debian? -<p> -No, you can try to run the applications without a jvm by compiling -the source code to native code is. However, the usage of the OpenJDK is recommended. For example, gcj does not provide any support of Swing (the Java GUI API). - -<sect1>How do I compile to native code? - -<p>You might be able to use <prgn>gcj</prgn> to compile the program. -And use <prgn>gcj</prgn> to convert bytecode to native code. The entire -software chain is free. - - -<chapt id="browser-java">Java Plugins for Browsers - -<p> -<list> - -<item>You can install the package icedtea-6-plugin or icedtea-7-plugin in <em>wheezy</em></item> - -</list> - - -<chapt>Java Servlets -<p> -<sect>How can I make Java servlets work? -<p>You can use: -<list> - <item>Apache <package>tomcat6</package> from <url id="http://tomcat.apache.org">. - <item>Eclipse <package>jetty</package> from <url id="http://www.eclipse.org/jetty/">. -</list> - - -<chapt>Java Policy -<p> -<sect>Is there a Java policy for Debian? -<p> -It is still in the works. The current policy addresses <em>some</em> -of the problems. It has not been officially released. You can find -it at <url id="http://www.debian.org/doc/packaging-manuals/java-policy/">. -The Java Policy can also be found in the <package>java-common</package> -package. - -<sect>Are there holes in the Java Policy? -<p>Yes, some until under discussion. Please check out the -<url id="http://bugs.debian.org/java-common" name="bugs against -the java-common package">. Thus it is <em>very</em> inconvenient to -use several compilers of virtual machines since there is not one -CLASSPATH setting for all of them. - -<chapt>Other Java alternatives for Debian -<p>If the Java packages provided in Debian are not sufficient for your -needs you might need to take a look at other alternatives. Please understand -that these alternatives are not supported by the Debian project directly, -you might get help, however, from the debian-java mailing list if you -encounter issues with them. - -<P>Some of the alternatives presented use Debian packages which is -convenient, since the user/administrator does not need to care on installation -issues. However, mixing packages that come from a source which is not -the Debian project might cause conflicts with your installation some times. -Of course, Debian tries to integrate as many free software efforts as -possible, so some of the alternatives described below might (if license -permits) be included in Debian in the near future. - -<sect>Java programs not yet available on Debian -<p> -The following are programs that have not yet been packaged for Debian -nor is there an installer. There are quite a lot Java programs out -there. - -<p>A list of missing packages is maintained on the -<url id="http://wiki.debian.org/Java/RequestedPackages" name="Debian Wiki - Java Packaging Wishlist">. - -</book> |