解决Jdeveloper 12C(12.2.1.3.0) CreateProcess error=206问题

已经有阵子没用Jdev写东西了,因一个客户项目,周末打开Jdeveloper写了个Web Service客户端的Java示例程序。驾轻就熟从WSDL生成客户端代码,写了Impl实现,运行测试却碰到了问题,系统提示了以下文件名或扩展名过长的错误信息:

The target .jpr cannot be started because an exception was thrown: java.io.IOException: Cannot run program “C:\Java\jdk1.8.0_121\bin\javaw.exe” (in directory “C:\\src\”): CreateProcess error=206, The filename or extension is too long

仔细看了下错误信息,大概是因为库文件的原因,以下列方式解决:

打开项目属性窗口,把自动引用的JAX-WS Client和JAX-WS Web Service删除掉。

菜单Tools—–>Manage Libraries…

点击New,新建一个名为“ My JAX-WS Client ”用户库,点击“Add Entry”,选择
<JDev安装目录>\wlserver\server\lib\weblogic.jar
<JDev安装目录>\oracle_common\modules\internal\features\jrf_wlsFmw_oracle.jrf.wls.classpath.jar
点OK确认。

重复上面操作,新建立名为“ My JAX-WS Web Service ”的用户库,加入
<JDev安装目录> \wlserver\server\lib\weblogic.jar
点击OK确认。

回到项目属性窗口,加入刚创建的两个用户库,再次Run JAVA代码,成功运行。

后来空了查了下Oracle Support,发现这个问题是Jdeveloper 12.2.1.3.0的一个bug,官方已经有补丁程序释出,具体可以参考Running a Java Class Fails With “CREATEPROCESS ERROR=206” (Doc ID 2330982.1)。

Jdeveloper错误: Deployer:[149140]The task cannot be processed further until the current edit session is activated.

当想把WebCenter Space扩展程序发布至WebCenter Portal 12c时出现这个错误。

[Deployer:149140]The task cannot be processed further until the current edit session is activated.

 

space-error

 

原因

The user is the current owner of the domain configuration edit lock.

解决方法

Activate (or cancel) the edit session. The user can exit the deployer tool without affecting the task.

说成人话就是重启管理服务器或者在开发机器上把Default Domain删除了再重建即可解决。

 

Oracle ADF Mobile学习笔记 1:开发环境的安装及配置

这篇文章主要描述Oracle ADF Mobile开发环境的搭建工作。由于还没有测试过在window下搭建IOS的开发环境,所以此次只是描述JDeveloper的环境配置和Android开发环境搭建。

Android开发环境搭建

1.下载SDK

访问:http://developer.android.com/sdk/index.html ,下载SDK 。

 

无标题

根据我们的开发环境下载32位或64位。此处我们下载的是64位的SDK(adt-bundle-windows-x86_64-20140321.zip)。

2.安装SDK

将下载的zip文件解压到某个目录(不要中文、不要空格)。运行其目录下的SDK Manager.exe。参照下面的图示将相关选项选中(注意要将下方的Obsolete选中)。

选择需要安装的组件后按“Install packages”按钮进行安装。

无标题无标题

3.配置虚拟机

安装完成可以创建虚拟机。选择“Tools” — > “Manage AVDs”。开启虚拟机创建页面。

点击“New”按钮,创建虚机。如下图所示:

无标题1

无标题

点击“Start”按钮即可启动虚机。虚机启动后如下图。

无标题3

 

JDeveloper环境配置

1.安装JDeveloper

请安装11.1.2.4.0版本,安装JDeveloper不再描述

2.安装ADF Mobile插件

启动JDeveloper,选择Help–>Check for Updates,找到Oracle ADF Mobile,进行安装。目前最新版本如下:

无标题

 

3.配置JDeveloper

选择Tools –>Preferences。如下图配置Android的相关信息。

无标题

注意第三栏灰色的部分“Android Build Tools Location”,请选择正确的地址(早期的安卓版本在sdk/platform-tools下)。

 

至此开发环境搭建完成,在下一篇教程中我们将制作一个简单的APP应用。

 

 

Jdeveloper 11G 使用

  1. Edit菜单栏中的复制路径及增强粘贴


    1. 我们会发现有一个Copy Path功能,为什么会有这个功能呢。因为在Jdeveloper中是不支持在项目结构视图中对文件进行复制、拖动等操作的,如果你需要将项目中某个文件进行复制操作的话,应该是先将其文件的路径拷贝出来,然后我们可以进入相应的文件夹下进行复制等操作
    2. 还有一个功能是Extended Paste加强粘贴功能,他允许你同时复制多块区域,然后在使用Extended Paster 的时候进行选择粘贴。
  2. Build菜单栏中的一些编译操作


    1. 通过Make All 可以将应用程序进行重新编译
    2. Clean All则反之,是清除上次编译的class文件
  3. Tools菜单栏最下端的偏好设置


    1. 设置编码格式


    2. 设置文件类型打开方式,以此来加快文件打开方式


    3. 快捷键的修改


 

  1. 将页面恢复出场设置


  2. 帮助文档查看


  3. 查看组件API文档


  4. 查看Java类API文档


     

  5. 搜索相关(将图片放大看)

Jdeveloper 11G 常用快捷键

  1. 代码的自动提示(ctrl+shift+space),效果如下图所示:


  2. 自动导包(Alt+Enter),效果图如下:


  3. 代码的跟踪导航(按住ctrl键不放直到如下图所示)则可跟踪进如下方法中


    再按(Alt+向左方向键)则可返回,按(Alt+向右方向键)则又可进入所跟踪的方法里

  4. 代码对齐(Alt+Shift+f)
  5. 跟踪文件在项目结构视图中的位置(Alt+Home)
  6. Java类搜索(ctrl+减号)


  7. Java类方法结构图示(ctrl+shift+`)


  8. 设置文档标记(按Alt+Shift+1~9进行标记),然后再通过ctrl+1~9来定位


    注:帮助文档上说是alt+1~9来定位,但是实际上不是。

  9. 复制路径(ctrl+shift+c)
  10. 增加粘贴(ctrl+shift+v)
  11. 运行项目(正常运行F11,DEBUGctrl+F9)
  12. 代码自动补全
    1. 自动补全方法(ctrl+shift+enter)

      在代码区中输入if或者for,然后按快捷键,刚会出现下图所示效果



    2. 自动实例实例

      默认为ctrl+space,但与windows系统中切换中英文输入法相冲突,可以将其在偏好设置中修改。

    3. 自动包含代码(alt+shift+z)



  13. 弹出当前打开文件列表(ctrl+等号)


  14. 打开文件之间的切换
    1. 向上(alt+shift+Tab)
    2. 向下(alt+Tab)


Oracle ADF Mobile学习笔记 0:先给自己下套

从ADF Mobile发布第一版时就想写一个入门的课程,期间由于杂事繁多,就把这个计划搁置了。端午节假期刚好没外出,宅在家里把半年来欠下的债一个个的还,帮朋友写完一个跳票N久的程序后,想着ADF Mobile也出了第二版,加上官方都出了完善的视频向导,再写向导好象有画蛇添足之嫌。不过本着还自己心愿的态度,就算拾人牙慧,做Oracle官网的搬运工也要把简单的教程写出来。

计划写5篇的向导文章,大纲分列如下:

1. ADF Mobile开发环境的安装及配置;

2. 第一个ADF Mobile程序;

3.ADF Mobile微博客户端的实现(主要演示如何用ADF Mobile调用开放平台的接口,还没决定是用新浪微博还是腾讯微博);

4.WebCenter Content的ADF Mobile客户端实现;

5.WebCenter Portal的ADF Mobile客户端实现;

先挖个坑,给自己下套,希望能有时间把这一系列文章写完。

Install JDeveloper 11g on Mac OS 10.7

让W510折腾得每天老是肩膀疼,而且觉得总不能老是把Mac Air当成在StarBucks装13工具,总得把它用起来吧。周末开始在Mac上折腾开发环境,Eclipse解压后就能运行,但是装JDeveloper还是费点劲才弄好。。
1. 首先确认JDK已正确安装,在终端窗口运行”java -version“,如果没有安装可按系统向导步骤进行安装;
2.确认Java 1.6是默认的JDK,打开实用工具—>Java 偏好设置,Java SE 6 64位应该在第一位,如果否调整64位JDK至第一位。
3.创建Symbol Link

cd /SystemLibrary/Frameworks/JavaVM.framework/Versions/1.6.0/Home/
sudo mkdir jre
cd jre
sudo mkdir lib
cd lib
sudo ln -s ../../../Classes/classes.jar rt.jar

3. 现在在终端窗口运行Java -version,提示信息类似如下:

java version “1.6.0_31”
Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3635)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_31-b01-415, mixed mode)

4.到OTN网站http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html 下载JDeveloper 11g 11.1. 1.6.0的通用版本jdevstudio11116install.jar。

5. 运行jdevstudio11116install.jar,安装程序正确找到本地JDK,下一步下一步即可完成安装。

 更详尽的信息可以在https://blogs.oracle.com/shay/entry/installing_jdeveloper_on_mac_os 找到, thanks Shay。

修复JDeveloper“此时不应有 \Java\jre6\lib\ext\QTJava.zip”错误

好几天没有用JDeveloper,打开一个WebCenter的应用,运行时JDev报”此时不应有 \Java\jre6\lib\ext\QTJava.zip“错误。

明明之前是好好的,唯一安装的就是iTunes及带的QuickTime。给过检查,果然在系统环境设置的CLASSPATH=“.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip”,把“C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip”去掉并重新启动计算机,再进入JDeveloper,应用顺利运行。

配置AD与Oracle UCM 11g、WebCenter的集成

最近几天为客户搭建一个POC环境,客户使用微软Active Directory进行用户管理,希望实现UCM、WebCenter与AD的集成。下面是实现步骤:
1.配置Weblogic Server与AD集成
1)通过http://host:7001/console登录Weblogic Server管理控制台;
2)选择安全领域,选择myrealm,点击“提供程序”选择卡;
3)点击“新建”,新建验证提供程序,提供程序类型选择“ ActiveDirectoryAuthenticator”,控制标记选择“SUFFICIENT”;
4)设定提供程序,依据AD实际结构设定提供程序
Host:
Port: 389           (default)
Principal: CN=Administrator,CN=Users,DC=company,DC=com
Credential:
SS Enabled: 不选(默认)
User Base DN: OU=Ucm,DC=company,DC=com
All Users filter: 空 (默认)
User from Name Filter: (&(cn=%u)(objectclass=user))    (默认)
User search scope: onelevel (按实际情况选择onelevel或subtree)
User name attribute: cn (默认)
User object class: user (默认)
Use retrieved User Name as Principal: not-checked  (默认)
Group Base DN: OU=Roles,OU=Ucm,DC=company,DC=com
All groups filter:    (默认)
Group from name filter: (&(cn=%g)(objectclass=group))    (默认)
Group search scope: subtree (默认)
Group membership searching: unlimited (默认)
Max Group membership search level: 0 (默认)
Ignore duplicate membership: not-checked (默认)
Use token groups for group membership lookup: not-checked   (leave not-checked, unless you experience slow performance and/or double-lookups to AD from WLS) (default is not checked)
Static group name attribute: cn (默认)
Static group object class: group (默认)
Static member DN attribute: member (默认)
Static Group DNs from Member DN filter: (&(member=%M)(objectclass=group))   (default)
Dynamic groups: All entries (默认)
General: left all as default except Connection retry limit: 5
Keep alives enabled: checked
Cache enabled: un-checked (for testing, so there is no cache. You may want caching for a Production install)



保存设定。
5)把myrealm的DefaultAuthenticator的控制标记设置为“SUFFICIENT”,把提供程序重新排序把AD的验证提供程序放至第一位;
6)重启Weblogic Server,在管理控制台应该的用户和组可以看到AD中的用户与组。完成Weblogic Server上AD的配置。

 2.UCM与AD集成的设置
1)完成WLS上AD的设定后,应该可以利用AD的用户登录到UCM;
2)AD上的组对应到UCM的Roles,在UCM上进行相应的角色授权就可完成;如需使用UCM的Account进行细粒度的权限控制,可以AD组名前加“@”符号实现。

3. WebCenter与AD集成
1)修改C:\Oracle\Middleware\user_projects\domains\uaes_domain\config\fmwconfig下的jps-config.xml文件,增加以下内容:
 
       
           
           
       
       
       
 注意value根据AD的实际情况进行调整。
2)重启WebCenter Space,试验是否可能用AD用户登录系统。

4.注意事项
1)设置提供程序的时候注意AD的结构;

2)调整jps-config.xml文件时注意value值,这是关系能否正常登录的关键,如果使用账号value用“sAMAccountName”

3)如果你还使用WebCenter与UCM集成,注意Documents Services是否正确配置。

提升实际应用ADF开发技能

 很多人参加完Oracle的ADF培训后,觉得照着例子做是懂了,但是真正在项目上使用ADF往往不知何入手,很多问题也不知道怎么解决,查大部头的Developer Guide总觉得很难找到解决方案。所以通常都会听到ADF太难用之类的声音。

其实在Oracle网站上本身就有很好的资源,但是对于中文用户来讲,要在Oracle的网站找到适合的资源实在是一个挑战。推荐大家使用Oracle ADF Insider Essentials,对于使用ADF开发的团队与工程师来讲,实在是不可多得的好资源,使用实例的方式来讲解如果解决实际的问题。