Ensemble.Tofino运行报错Unexpected java bridge exception的解决

作为Visual Studio插件的Flex开发工具,Ensemble公司的Tofino确实很吸引人,包含编译环境的安装文件总共才122M,比起Flex Builder要不少。而且,对于熟悉了VS开发环境的.Net程序员,用这样的插件来做Flex开发方便了很多。

从官网下载安装文件,选择122M的包含开发编译环境的安装包下载。关闭Visual Studio,安装成功后开启Visual Studio,正常情况下Flex项目会出现在新建项目的页面上。新建一个Flex工程,如果你机器的java环境配置不正确,就会跟我一样,出现 Ensemble.Tofino.Plugin.Support.FlexJavaBridgeException: Unexpected java bridge exception的错误提示(虽然此时没有编译运行工程,但是会检查出来)。如果编译运行项目,则会报如下详细错误:

unexpected exception: Ensemble.Tofino.Plugin.Support.FlexJavaBridgeException: Unexpected java bridge exception.
Tofino version: 2.2010.1.7
Microsoft? Visual Studio? 2008 9.0.30729.1 built by: SP
Using JVM: C:\Program Files\Java\j2re1.4.2_19/bin/client/jvm.dll
OS: Windows XP (Microsoft Windows NT 5.1.2600 Service Pack 3) ---> System.Runtime.InteropServices.SEHException: 外部组件发生异常。 
   在 Ensemble.Tofino.Plugin.Support.FlexJavaBridge.EnsureInitialized()
   在 Ensemble.Tofino.Plugin.Support.FlexJavaBridge.InvokedUnLockedAction(JavaAction action)
   --- 内部异常堆栈跟踪的结尾 ---
   在 Ensemble.Tofino.Plugin.Support.FlexJavaBridge.InvokedUnLockedAction(JavaAction action)
   在 Ensemble.Tofino.Plugin.Support.FlexJavaBridge.InvokedLockedAction(JavaAction action)
   在 Ensemble.Tofino.Plugin.Support.FlexJavaBridge.StartBuild(String projectDir, LogCallback logCallback, ProgressCallback progressCallback)
   在 Ensemble.Tofino.Plugin.Compiler.FlexBuilder.Build()
   在 Ensemble.Tofino.Plugin.Project.FlexProject.InvokeMsBuild(String target) -1 0 FlexApplication1

从上面的错误信息可以看出,是Tofino的dll在配置java环境时出错,找到这一行:

Using JVM: C:\Program Files\Java\j2re1.4.2_19/bin/client/jvm.dll

取到的是jre的路径,那么应该是jre中bin路径错误, 需要java.dll所在的目录,而这里缺少bin目录。那Tofino是怎么取到java环境的路径呢?我么来看下Tofino的安装目录。

在Tofino安装目录下的sdks\3.2.0\bin目录中,有个jvm.config文件,打开找到如下内容:

#
# VM configuration
#
# Where to find JVM, if {java.home}/jre exists then that JVM is used
# if not then it must be the path to the JRE itself
#
# If no java.home is specified a VM is located by looking in these places in this
# order:
#
# 1) JAVA_HOME environment variables (same rules as java.home above)
# 2) bin directory for java.dll (windows) or lib/<ARCH>/libjava.so (unix)
# 3) ../jre
# 4) registry (windows only)
#

java.home=

注释中已经明确说明了,jvm运行环境的检查先后顺序:

1.环境变量中JAVA_HOME指向的位置;

2.java.dll(Windows)或lib/<arch>/libjava.so(unix)的位置;

3.jre的位置;

4.配置文件中指向的位置(windows).

java.home=就可以直接配置jvm的实际位置,即java.dll所在目录。

查看我的机器上的环境变量,JAVA_HOME指向的jre为安装目录的根目录,应该改为包含bin的目录。修改JAVE_HOME的路径,比如C:\Program Files\Java\jre6\bin。重新启动Visual Studio,编译运行Flex项目,OK,一切正常!

如果有朋友遇到同样的报错信息,参考以上内容修改即可。祝大家好运!

时间: 2024-10-29 17:34:37

Ensemble.Tofino运行报错Unexpected java bridge exception的解决的相关文章

nutch 2.2.1 运行报错InjectorJob: java.lang.RuntimeException: job failed: name=inject

问题描述 在windows下的eclipse中运行报错,如下,求各位大神帮帮忙,本人小白一个,急急急急InjectorJob:startingat2014-06-2615:45:36InjectorJob:InjectingurlDir:urlsInjectorJob:Usingclassorg.apache.gora.memory.store.MemStoreastheGorastorageclass.****file:/D:/workspace/nutchTest/urlsInjectorJ

集成EaseUI后运行报错:java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$layout

问题描述 具体报错信息06-23 09:26:58.154 7443-7443/com.*****.***** E/AndroidRuntime: FATAL EXCEPTION: main                                                                            Process: com.*****.*****, PID: 7443                                           

用java2word报错:java.lang.Exception: 初始化类库出错,请检查是否注册了组件 Word.Application

问题描述 小弟要做一个java操作word的应用,在网上找了很多之后决定使用java2word.可是程序报如下错误:java.lang.Exception:初始化类库出错,请检查是否注册了组件Word.Application.注册命令为'regsvr32文件名'.望高手指点一二.小弟感激不尽. 解决方案 解决方案二:java软件安装的不正确啊,重新装个试试!!解决方案三:那个JAVA软件啊?你指的是java2word还是myeclipse还是jdk?解决方案四:怎么没人答啊?这帖子不能沉啊!!!

downloadprovider-下载你上传(安卓DownloadProvider下载文件) 运行报错

问题描述 下载你上传(安卓DownloadProvider下载文件) 运行报错 文件地址http://download.csdn.net/detail/wodaoai/7828535运行报错如下希望你能帮助解决下08-27 18:18:29.669: E/ContentValues(1837): Cannot cast value for no_integrity to a Boolean: 108-27 18:18:29.669: E/ContentValues(1837): java.lan

android开发-微信sdk demo运行报错 求救

问题描述 微信sdk demo运行报错 求救 java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL. 这是什么错误?怎么解决啊 解决方案 根据提示,缺少android.permissio

idea 运行报错Unknown system variable &amp;amp;#39;language&amp;amp;#39;怎么解决

问题描述 idea 运行报错Unknown system variable 'language'怎么解决 idea 运行报错Unknown system variable 'language'怎么解决 解决方案 Unknown system variable 'storage_engine'解决办法

测试第三方提供的接口,运行报错java.lang.AbstractMethodError如何解决

问题描述 测试第三方提供的接口,运行报错java.lang.AbstractMethodError如何解决 2016-05-24 09:08:12.918::WARN: Nested in org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.AbstractMethodError: javax.ws.rs.core.UriBuil

java eclipse tomcat-在eclipse中配置好tomcat后,其他项目下的java运行报错

问题描述 在eclipse中配置好tomcat后,其他项目下的java运行报错 tomcat配置成功了,localhost:8080也没有问题,但是java项目下的java文件不能编译通过,用的是tomcat免安装版的6.0 解决方案 这个不一定就是tomcat的问题,也可能是项目的问题,比如说你的项目是java7开发,而现在的tomcat环境用的是jdk6 如果可以最好是把报错信息发出来 解决方案二: 你的tomcat里面以前是不是发布过其他的项目,其他的项目里面有编译错误,而你没把tomca

java web-javaweb程序放在resin上运行报错,具体错误如下

问题描述 javaweb程序放在resin上运行报错,具体错误如下 javax.servlet.ServletException: Unable to load configuration. - bean - jar:file:/e:/qingniusoftware/Payment/WebRoot/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:29:72 at com.caucho.server.dispatch.FilterM