一,
Ubuntu下环境的配置
1,安装JDK
首先安装java的jdk,我是从新立得软件包中安装:
sudo apt-get install sun-java6-jdk (jdk的版本取决于你的ubuntu版本)
安装后的jdk的目录是:/usr/lib/jvm/java-6-sun-1.6.0.26/。安装好jdk后,最重要的就是配置环境变量。环境变量的配置有好几种方法,能设置环境变量的文件包括:/etc/profile、/etc/evironment
、~/.profile、/bashrc、~/.bashrc。这几个文件里定义的环境变量,用户使用的权限和执行的时间不一样。在/etc/environment文件里定义jdk环境变量。在该文件中添加:
JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26
CLASSPATH=.:/usr/lib/jvm/java-6-sun-1.6.0.26/lib
(CLASSPATH以冒号分隔开。.
号表示当前目录)
然后在~/.bashrc文件中添加:
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26
export CLASSPATH=.:$JAVA_HOME/lib
因为ubuntu默认安装了OPENJDK所以要选择所用的JDK执行下面两条命令:
update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-6-sun-1.6.0.26/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-6-sun-1.6.0.26/bin/javac 300
这样安装的java就可以加入java选单。再调用下面的命令就可以选择java的版本了。
update-alternatives --config java
在终端测试一下吧!到此jdk就安装完成了。
2.安装Jpype
从官网上下载JPype。在unbuntu下安装还需要做点小修改,修改setup.py,文件中setupLinux函数中的self.javaHome变量为自己的JDK目录:
self.javahome='usr/lib/jvm/java-6-sun-1.6.0.26‘
运行python
setup.py install.的话
可能会出现找不到Python.py。需要安装python-dev。如果再安装出错的话,就需要你自己排错了。当然你在安装JPype之前必须安装好Python。测试一下在终端中打开python
shell,import
Jpype。无错表示安装成功。
二
python调用java
示例
写个很简单的java程序并打包成jar包供python程序调用。
简单的java程序:
package test;
public class TestApi
{
public String getData(String key){
return key;
}
public void printData(String key){
System.out.println(key);
}
public static void main(String[] args)
{
System.out.println(123);
}
}
编译成.class文件:
javac TestApi.java
将.class文件放入test文件夹中,在test文件夹外新建一个.mf文件,就叫TestApi.mf吧。并在该文件中加入:
Created-By: Jesse Main-Class: test.TestApi
Main-Class指的就是主程序的入口类,利用下列指令打包jar文件:
jar cvfm TestApi.jar TestApi.mf test
到此,java的包文件已经完成,下面就测试JPype吧:
#!/usr/bin/env python
#coding : utf-8
from jpype import *
jvmpath = getDefaultJVMPath()
startJVM(jvmpath, "-ea", "-Djava.class.path=.")
TA = JPackage('test').TestApi
jd = TA()
jd.printData('1234')
s = jd.getData('a')
print s
shutdownJVM();
分享到:
相关推荐
Python是一种强大的脚本语言,广泛应用于数据处理、...`test1`可能是一个测试脚本,而`mython`可能是一个包含Python代码的模块,演示如何使用`jpype`调用Java代码。你可以查看这些文件以获取更具体的例子和实现细节。
这里我们将主要关注Jpype,因为它是Python调用Java的高效且易于使用的工具。 **Jpype简介** Jpype是一个开源项目,它允许Python运行时环境直接启动和控制Java虚拟机(JVM),使得Python能够无缝地导入和使用Java类...
Python 调用Java实例详解 前言: Python 对服务器端编程不如Java 所以这方面可能要调用Java代码 前提: Linux 环境 1 安装 jpype1 安装后测试代码: from jpype import * startJVM(getDefaultJVMPath(), "-ea...
Python调用Java类的能力是通过JPype实现的。JPype创建了一个桥接,允许Python解释器直接与Java虚拟机(JVM)通信。这使得Python开发者可以利用Java的高性能计算能力、企业级库,以及Android开发等领域的资源。使用...
本主题聚焦于“Python调用Java”的技术,这允许我们利用Python的易用性和Java的高性能特性。我们将深入探讨如何实现这一目标,以及相关的知识点。 首先,Python和Java之间的互操作性主要依赖于`Jython`、`Jpype`和`...
标题"python调用java"表明我们要讨论的是如何在Python程序中执行Java代码或调用Java接口。Python因其简洁的语法和丰富的库而广受欢迎,而Java则以其高性能和跨平台特性受到青睐。在某些场景下,如已有Java服务需要被...
而JPype则是一个让Python能够与Java平台进行无缝交互的开源库,它允许Python程序调用Java类库,从而极大地扩展了Python的应用范围。 Python的核心特性包括其动态类型系统、自动内存管理、丰富的内置函数和模块,...
有时候,我们可能需要在Python项目中调用Java的库或服务,这时,Jpype1就起到了关键作用。Jpype1是一个开源的Python绑定库,允许Python代码无缝地与Java环境交互,实现了Python与Java之间的互操作性。 Jpype1 64位...
JPype是Python中一个非常重要的库,它允许Python代码无缝地调用Java类库和方法,使得Python开发者能够利用Java的强大功能,特别是在处理大规模企业级应用、大数据分析或使用丰富的Java库时。标题中的"JPype 2.7 ...
这意味着通过JPype,Python程序员可以调用Java类库,利用Java的强大功能,同时保持Python的易用性和灵活性。在Python程序中使用JPype,可以访问Java的API,执行Java方法,甚至创建Java对象。 描述虽然简短,但同样...
1. 允许Python调用Java代码。 2. 解决了Python在服务器端编程等特定领域的不足。 3. 在Python运行时内嵌一个JVM实例。 4. 提供了startJVM()函数,用以启动JVM。 在JPype的使用过程中,有几个关键步骤和概念需要掌握...
换句话说,通过jpype,Python程序可以启动JVM(Java虚拟机),载入Java类,并进行调用,实现Python与Java两种语言之间的交互。这为Java开发者提供了一种便捷地利用Python语言进行编程的途径,同时也为Python开发者...
由于 python 本身为脚本语言,且经常存在调用第三方库的情况,有的时候用 java 调用 python 不如用 ...python 调用 java 主要是靠在 python 中 import jpype 来实现的。 jpype 的安装极其容易,在 http://jpype.sour
2. **启动JVM**:使用JPype,Python程序能够启动并控制Java虚拟机(JVM),从而运行Java代码。 3. **类型转换**:JPype自动处理Python对象和Java对象之间的类型转换,例如字符串、整数、列表和自定义类。 4. **...
而Python调用Java的JAR包方法主要是通过JPype库来实现的。JPype是一个Python库,可以让Python语言调用Java语言中的类和方法。下面是Python调用Java的JAR包方法的示例代码: ``` from jpype import * jvmPath = ...
为了结合两者的优势,我们经常需要在 Java 程序中调用 Python 脚本或库,以便利用 Python 的强大功能来解决特定问题。 在 Java 中调用 Python 主要有以下几种方法: 1. **使用 Jython**: Jython 是一个 Python ...
2. **Python调用Java类:** JPype提供了一个`startJVM()`函数来启动JVM,并且可以设置Java的类路径。一旦JVM启动,就可以使用`JClass`来实例化Java类,如: ```python import jpype from jpype.types import ...
JPype的核心功能在于它的互操作性,它实现了Python与Java之间的桥接,使得Python可以调用Java的方法,创建Java对象,甚至可以处理Java集合和异常。这对于那些需要利用Java库,如大数据处理框架Hadoop、机器学习库...
通过JPype,Python程序员可以直接在Python环境中调用Java方法,创建和操作Java对象,使得两个平台的代码可以协同工作。 2. **Python与Java的互操作性**:JPype使得Python开发者可以利用Java的强类型、面向对象的...