Oracle9i JDeveloper
Release Notes
Version 9.0.3
October 2002
Content
Introduction
Oracle9i JDeveloper is a J2EE development environment with end-to-end
support for developing, debugging, and deploying e-business applications and
web services.
To maximize developer productivity, JDeveloper provides a comprehensive set
of integrated tools to support the complete development lifecycle, from source
control, modeling, and coding through debugging, testing, profiling, and deploying.
JDeveloper simplifies J2EE development by providing wizards, editors, visual
design tools, and deployment tools to create high-quality, standard J2EE components
including applets, JavaBeans, JavaServer Pages (JSP), servlets, and Enterprise
JavaBeans (EJB). JDeveloper also provides a public Extension SDK to extend and
customize the development environment and to seamlessly integrate with external
products.
To simplify the development of scalable, high-performance J2EE applications,
JDeveloper offers an open and extensible J2EE framework called Business Components
for Java (BC4J). BC4J implements Sun's J2EE design patterns and allows developers
to quickly build sophisticated J2EE applications.
For more information about this release, please visit the JDeveloper page on
the Oracle Technology Network at /products/jdev.
You will also find there the Oracle9i
JDeveloper Version 9.0.3 Release Notes Addendum which contains additional
information not available at the time of this document's publication.
Support for Oracle9i Release 2 (9.2)
JDeveloper version 9.0.3 is distributed with drivers for Oracle9i Release
1. These drivers are compatible with the following database versions:
- Oracle9i Release 2 (9.2)
- Oracle9i Release 1 (9.0.1)
- Oracle8i (8.1.7)
Drivers for Oracle9i Release 2 can be installed in 9.0.3, but are not
supported.
BC4J Issues
BC4J Projects Will Be Updated Automatically
The first time you open a BC4J project in JDeveloper 9.0.3 you will be alerted
that your project will be upgraded. If your project contains many BC4J packages
and many objects, this upgrade procedure may take several minutes.
BC4J <jbo:InputSelectLOV> Data Tag Does Not Migrate
(2612879)
After you migrate a BC4J JSP page that uses the <jbo:InputSelectLOV>
data tag from JDeveloper 9.0.2, your JSP will cause a runtime exception if you
attempt to display the LOV page. The exception is thrown because in JDeveloper
9.0.3 the <jbo:InputSelectLOV> data tag uses a new implementation
of the default LOV page, lovcomp.jsp. The workaround is to either
edit the lovcomp.jsp file in your project or simply refresh the
project to get the updated file. To refresh the project, you need only drop
the <jbo:InputSelectLOV> data tag from the Component Palette
onto any JSP page in your project. After you drop the tag, you may remove the
inserted data tag and keep your old tag; the lovcomp.jsp file will
have been refreshed in the public_html folder in your project.
However, if you have modified the LOV page and you do not wish to overwrite
the file, then you need to rename all occurrences of appModId with
appConfig in the customized lovcomp.jsp file.
Preview Release Upgrade Issues for BC4J JSP Struts Applications
If you generated a Struts-based BC4J JSP application in the JDeveloper 9.0.3
preview release, you will want to be aware of Struts implementation changes
that have occurred in the JDeveloper 9.0.3 production release. If you simply
regenerate the application using the JDeveloper wizards in the production release,
the generated application will make use of the updates. However, if you have
already modified your generated application and you want to import it into JDeveloper
9.0.3 production, your BC4J JSP project will need to be modified to work with
the BC4J Struts library updates. Specifically, you need to make these changes
to a Struts-based BC4J JSP application that you generated from the wizards:
-
Update these libraries in your Struts BC4J JSP project:
public_html\WEB-INF\lib\datatags.jar needs to be updated
with
<oracle_home>\BC4J\lib\datatags.jar
public_html\WEB-INF\lib\bc4jstruts.jar needs to be updated
with
<oracle_home>\BC4J\jlib\bc4jstruts.jar
-
Apply the following changes to the generated BC4J action classes:
-
Add a new import:
import oracle.jbo.html.struts11.BC4JUtils;
-
Replace:
import oracle.jbo.html.struts11.BC4JAction; by
import org.apache.struts.action.Action;
-
Replace the superclass:
public class DeptView1BrowseAction extends BC4JAction
by
public class DeptView1BrowseAction extends Action
-
Replace the getForwardFromContext() method:
return getForwardFromContext(context, mapping); by
return BC4JUtils.getForwardFromContext(context, mapping);
At this point you should be able to compile, but more steps are necessary to
run:
-
Update the web and Struts component JSP pages by generating a new Struts
Starter Page using the Struts Starter Page Wizard in the Struts-Based JSP
for Business Components category of the New Gallery.
-
Update all the Data<Xxx>Component.jsp files
in your project by copying the JSP data component files from <jdev_install>\multi\system\templates\common\struts
to the public_html directory of your project. Specifically,
this includes:
DataEditComponent.jsp
DataNavigateComponent.jsp
DataQueryComponent.jsp
DataRecordComponent.jsp
DataScrollerComponent.jsp
DataTableComponent.jsp
DataTransactionComponent.jsp
-
In all the <ViewObjectName>_Edit.jsp pages
generated by the 9.0.3 preview Struts wizard, delete the Cancel link by
removing this line:
<a href="javascript:history.go(-1)" ><bean:message
key="edit.cancel"/></a>
It has been replaced by a Cancel button in the form
New Default Naming Algorithm for View Object Instances
Used in Application Modules
Given a reusable view object component like com.mycompany.hrapp.DepartmentList,
in BC4J 9.0.2 when an instance of this view object component was used
for the first time in an application module, the BC4J design time wizards defaulted
the instance name to be the same as the component name: DepartmentList.
The fact that the component name and its related default instance name were
the same caused many developers to miss the important distinction between component
definition and component instance, leading to confusion while
using BC4J in their applications.
To remedy this confusion, in BC4J 9.0.3, this initial default name is DepartmentList1.
On the "Data Model" panel of the application module editor, you can
click on any view object instance name in the data model, and rename it by typing
in a new name and clicking the (Rename) button.
Each BC4J Application Module acts as a container for instances of view
object components in a way conceptually analogous to how a UI panel like a JFrame
acts as a visual container for instances of user interfaces components like
JButton, JTextField, etc. When instances of a javax.swing.JButton class are
added for the first time to a UI panel container, the default instance name
chosen by the JDeveloper Form Editor is jButton1, the second instance name defaults
to jButton2, etc. The new default instance naming for view object instances
follows this same instance naming pattern.
Modifying BC4J Project Files Can Create Problems
for Wizard-Generated BC4J Struts Clients
When you use the Struts application wizards to generate Struts-based JSP forms
for a BC4J middle tier project, you may not be able to modify the BC4J project
without causing the generated web application to fail.
For example, if you use the Struts wizards to generate a web application based
on the current state of your BC4J objects, and then decide to change the name
of an attribute name in a view object (in order to distinguish it from the default
entity-derived attribute name), a JBO runtime exception will be thrown.
In this case, you can:
- Rerun the wizard to regenerate the web application with the correct attribute names.
- Edit FormBean classes in your web application that refer to the attribute name so they use the new value.
- If you used DynaFormAction, you would only need to modify struts-config.xml file to reference the new attribute name.
Application Pool Name Change
The application pool name has changed for application pools which are created
using an application definition (.cpx) file. This change may affect 9.0.2 JClient
and 9.0.3 preview release BC4J web application developers who use client data
model definitions and have implemented programmatic pool access (i.e. PoolMgr.getInstance().getResourcePool(<poolName>)).
The 9.0.3 preview release BC4J web framework and the 9.0.2 JClient framework
used the ApplicationModule definition name as the pool name. This has changed
because of potential naming conflicts with pools derived from different configurations
which reference the same ApplicationModule type. 9.0.3 production now uses the
ApplicationModule configuration name as the ApplicationPool name. This is identical
to the naming strategy that was used by the BC4J web application framework in
9.0.2.
Applications which have hardcoded an application pool name should be aware
of this change and migrate the application to use the client data model configuration
name to acquire a pool instance from the PoolMgr.
Default RELEASE_MODE Value Changed from Reserved to
Stateful
The default value of the RELEASE_MODE configuration property has changed from
Reserved to Stateful. This change was made because of potential scalability
issues when using a Reserved release mode. This change should only affect applications
which use the BC4J data web beans and are releasing the web bean resources with
oracle.jdeveloper.html.DataWebBeanImpl.releaseApplicationResources().
If a Reserved release mode is still required then the application developer
should use oracle.jdeveloper.html.DataWebBeanImpl.releaseApplicationResources(oracle.jbo.common.PropertyConstants.AM_RELEASE_RESERVED)
or modify the RELEASE_MODE property of the ApplicationModule configuration.
Project not Saved When Invoking the BC4J Tester (2526963)
The BC4J tester will attempt to compile the project before displaying the tester
dialog. However, it will not save the project even if the Save Before Compile
IDE preference, Tools | Preferences | Environment, has been specified.
Cookie Configuration does not Match the Specified Configuration
If you receive the exception, 30018 - The cookie configuration does not
match the specified configuration, it indicates that your web application
includes two JSP pages/servlets that declare the same application id but have
declared different configuration names (see the javadoc for oracle.jbo.http.HttpContainer.findSessionCookie
and/or oracle.jbo.common.ampool.SessionCookie for a definition of the application
id.)
In order to correct the issue it is necessary to make the configuration name
consistent for all usages of the same application id. Please note that this
exception may be thrown even if the configuration names are equal in a non case
sensitive manner.
Unable to Run a BC4J JSP in OC4J in VB Bind Mode (2594776)
When accessing the BC4J corba server you need to set the following properties
before initializing the ORB. These properties are set internally but in this
case it's too late because OC4J initializes the ORB at startup.
The workaround is to manually add the following system properties to the OC4J
command line. If you are using the embedded server then add these to the VM
settings of the project from which the embedded OC4J instance is started:
-Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=com.inprise.vbroker.orb.ORBSingleton
-Djavax.rmi.CORBA.UtilClass=com.inprise.vbroker.rmi.CORBA.UtilImpl
-Djavax.rmi.CORBA.PortableRemoteObjectClass=com.inprise.vbroker.rmi.CORBA.PortableRemoteObjectImpl
ejb-ref in web.xml not Updated if the Bean Type is Changed
from Remote to Local (2589997)
Creating a jsp application for a bc4j session facade results is an ejb-ref
entry in the web.xml of the that project. If you change the interface type of
that facade, from local to remote or vice versa, then you must update ejb-ref
entry in web.xml. For example if you change the bean type from remote to local
then you must replace the <ejb-ref> section in web.xml with the appropriate
<ejb-local-ref> tags.
New Composed Details Vanish Until the Master is Posted
In the case of a composition association between two entities where the association
does not involve Primary Key on the master side, new details are temporarily
lost if the foreign key attribute on the master is modified after creating the
new details. The rows come back with fixed foreign key attributes when the master
entity is posted.
A workaround is to override set<FKAttribute> method in the master entity
and also fix the FK attribute on the detail entities before updating the attribute
on the master entity itself.
Issues with Business Components Bound to EJB Entity Beans
We recommend that you don't rename the session bean generated when you create
an EJB application module; renaming the session bean will cause the Business
Component Browser to fail. (2507318)
Attributes marked as history columns in an EJB Entity Facade are not updated.
The workaround is to specify a data source for your application module, as follows:
- In the navigator, right-click your EJB Application Module and select Configurations...
- In the Configuration Manager, click Edit.
- In the Configuration Dialog, select the Application Module tab and select
the JDBC Connection Required checkbox.
- Select JDBC Datasource in the dropdown list, and enter a datasource name,
for example: jdbc/oeCoreDS. If you do not know what to use for the datasource
name, use the value of jbo.server.internal_connection (select the Properties
tab in the Configuration Dialog to see this value). (2514072)
Running the Caching and VARRAY Samples
The BC4J caching and VARRAY samples were created to work with the 9.0.1 version
of the database. They may not work with the 8.1.7 or 9.0.2 versions.
Running JDeveloper/BC4J 3.2.3 Runtime on 9.2 Database Using
Oracle Object Types
If you are using Oracle Object Types, the JDeveloper/BC4J 3.2.3 runtime will
not work with a 9.2 database.
Migrated 9.0.2 BC4J Applications with Mandatory DBSequence
Attributes Cause Validation Failure (2611269)
Attributes of type DBSequence cannot be Mandatory, since the database generates
values for the sequence only upon post operations. This was not enforced in
release 9.0.2, but it is enforced in release 9.0.3, so migrated applications
violating this will cause validation errors.
To fix this problem in migrated 9.0.2 BC4J applications:
- In the System Navigator, double-click the entity object to open the Entity
Object Wizard.
- Select the Attribute Settings node.
- Select the DBSequence attribute in the Select Attribute
list.
- Reselect DBSequence in the Attribute Type
list.
- Click OK to close the wizard.
Deploying to OC4J and Oracle9iAS
The information in this section supersedes information contained in the "Packaging
and Deploying" book in the main JDeveloper Help Table of Contents. For
specific information about deploying to other J2EE servers such as Apache Tomcat,
BEA WebLogic, and JBoss, refer to the Help topic "Ways to Deploy J2EE Applications"
in the "Packaging and Deploying" book, which you can access by choosing
Help | Help Topics.
The deployment topics covered in this Release Notes section include the following:
OC4J Version Shipped with Oracle9i
JDeveloper 9.0.3
By default, Oracle9i JDeveloper Version 9.0.3 lets you fully test
your J2EE applications in JDeveloper using the embedded OC4J server before deploying
to a target application server. The OC4J 9.0.3 embedded
server resides in the following location in JDeveloper.
- On Windows installations:
<jdev_install>/system####/oc4j-config
- On non-Windows and multi-user installations:
<jdev_user_dir>/system####/oc4j-config
JDeveloper also ships a copy of OC4J 9.0.3, which you
can run in standalone mode. The files for the OC4J 9.0.3 standalone server
are located in:
<jdev_install>/j2ee/home/config
If you deploy your applications to standalone OC4J, make
sure that you use the remote admin.jar file that was shipped with
the remote OC4J. If you are using an admin.jar that doesn't match
the version of OC4J to which you are deploying, deployment may fail. You can
configure deployment to use the correct admin.jar for the OC4J
standalone instance when you set up your connection using the JDeveloper Application
Server Connection Wizard.
To view the version of OC4J that you are using, enter
the following from your OC4J installation directory:
java -jar oc4j.jar -version
Deploying JDeveloper 9.0.3 Applications
to Standalone OC4J
The following table summarizes application deployment
support in Oracle9i JDeveloper Version 9.0.3 to Oracle9iAS
Containers for J2EE (OC4J) using admin.jar in standalone mode.
The OC4J versions are listed from left (most recently released) to right (oldest
version).
| Application |
OC4J 9.0.3 |
OC4J 9.0.2.x |
| J2EE |
Supported* |
Supported** |
| BC4J |
Supported |
Not currently supported |
|
J2EE web services: Java class or EJB
|
Supported |
Supported |
|
J2EE web services: PL/SQL |
Supported |
Not supported
|
|
J2EE web services: JMS |
Supported |
Not supported |
* This version of OC4J is J2EE 1.3
compliant. Deployment of JSP 1.2, Servlet 2.3, and EJB 2.0 applications are
supported.
** This version of OC4J is J2EE 1.2
compliant. Deployment of JSP 1.1, Servlet 2.2, and EJB 1.1 applications are
supported.
OC4J in Standalone Mode Requires
Correct tools.jar File
OC4J requires a file called tools.jar in
<jdev_install>/jdk/lib. This file must match the version
of the JDK being used to run OC4J. If it does not, you may have problems running
applications in standalone OC4J.
- If you are using the base installation of JDeveloper
(
jdev903_base.zip), you will need to copy tools.jar
from your JDK to <jdev_install>/jdk/lib.
- If you are using the full installation of JDeveloper
(
jdev903.zip), and are using a JDK other than 1.3.1_02 to run
OC4J , you will need to copy the tools.jar included with your
JDK to <jdev_install>/jdk/lib.
- If you are using the full installation of JDeveloper
(
jdev903.zip) with the included JDK 1.3.1_02 to run OC4J , you
do not have to do anything.
OC4J 9.0.3 supports JDK 1.3.1_02 and JDK 1.4. Oracle
recommends that you use the tools.jar from the JDK when running
OC4J in standalone mode.
Deploying JDeveloper 9.0.3 Applications
to Oracle9iAS
You deploy JDeveloper 9.0.3 applications to Oracle9iAS
using:
- Enterprise Manager (EM): The Oracle Enterprise
Manager web site provides a process for deploying new applications into an
OC4J server using the OC4J Enterprise Manager Home Page. You can also use
the OC4J Home Page for high-availability, clustering, and other services.
- Distributed Configuration Management (DCM):
The DCM servlet is installed and configured by default in Oracle9iAS
9.0.3. If you are deploying to Oracle9iAS 9.0.2.x, you must install
the DCM servlet manually.
See also: For more information on Oracle9iAS
administration, management, and deployment of J2EE applications to Oracle9iAS
via either DCM or Oracle HTTP Server, see the "Oracle9i Application
Server Administrator's Guide" which is provided with the Oracle9iAS
documentation library.
The following table summarizes application deployment
support in Oracle9i JDeveloper Version 9.0.3 to Oracle9iAS
Release 9.0.2 and 9.0.3 application server using these deployment tools:
| Application |
Deployment Tool |
Oracle9iAS
9.0.3 |
Oracle9iAS
9.0.2.x |
| J2EE |
Enterprise Manager |
Supported*** |
Supported ** |
| J2EE |
Distributed Configuration
Management (DCM) * |
Supported*** |
Supported ** |
| BC4J |
Enterprise Manager |
Supported |
Not currently
supported |
| BC4J |
Distributed Configuration
Management (DCM) * |
Supported |
Not currently
supported |
| J2EE web services |
Enterprise Manager |
Supported |
Supported**** |
| J2EE web services |
Distributed Configuration
Management (DCM) * |
Supported |
Supported**** |
* For Oracle9iAS 9.0.2, requires installation
of the DCM Servlet, deployed to a running Enterprise Manager OC4J instance.
** This version of OC4J is J2EE 1.2
compliant. Deployment of JSP 1.1, Servlet 2.2, and EJB 1.1 applications are
supported.
*** This version of OC4J is J2EE 1.3
compliant. Deployment of JSP 1.2, Servlet 2.3, and EJB 2.0 applications are
supported.
**** Only J2EE web services based on
Java classes or EJBs are supported in iAS 9.0.2.x. (PL/SQL web services and
JMS web services are not supported on 9.0.2.)
Installing the the DCM Servlet
to Deploy to Oracle9iAS 9.0.2.x
For successful deployment of applications created in
JDeveloper Version 9.0.3 to OracleiAS 9.0.2.x via the DCM servlet, you
must complete these steps:
- Install the DCM Servlet,
Oc4jDcmServlet.ear,
to a running Oracle Enterprise Manager instance. This servlet is required
to run in the same OC4J instance (same JVM) as the Enterprise Manager servlet.
The DCM Servlet is located in:
<jdev_install>/dcm/lib/Oc4jDcmServlet.ear
- Deploy the
Oc4jDcmServlet.ear using the
following two admin.jar commands. Enter
the commands exactly as follows substituting ${xxx} parameters
with the actual values for your configuration. For example, substitute ${ORACLE_HOME}
with the Oracle Home directory for your iAS configuration. All the other parameters
must have the exact literal values shown (adjustments for the paths to Java
and Oc4jDcmServlet.ear).
Java -jar ${ORACLE_HOME}/j2ee/home/admin.jar
ormi://${EM_OC4J_HOST}:${EM_OC4J_PORT} ${IAS_ADMIN_USER} ${IAS_ADMIN_PASS}
-deploy -file Oc4jDcmServlet.ear -deploymentName Oc4jDcmServlet
Example
Java -jar ${ORACLE_HOME}/j2ee/home/admin.jar
ormi://localhost:1811 ias_admin manager -deploy -file Oc4jDcmServlet.ear
-deploymentName Oc4jDcmServlet
Java -jar ${ORACLE_HOME}/j2ee/home/admin.jar
ormi://${EM_OC4J_HOST}:${EM_OC4J_PORT} ${IAS_ADMIN_USER} ${IAS_ADMIN_PASS}
-bindWebApp Oc4jDcmServlet oc4j-dcm-servlet emd-web-site /Oc4jDcmServletAPI
Example
Java -jar ${ORACLE_HOME}/j2ee/home/admin.jar
ormi://localhost:1811 ias_admin manager -bindWebApp Oc4jDcmServlet oc4j-dcm-servlet
emd-web-site /Oc4jDcmServletAPI
where the username and password for Enterprise
Manager is ias_admin/manager.
Deployment Issues
Problems Running UIX Web Applications (including the
BC4J JSP Admin Page) Deployed to Non-Oracle Application Servers (2577293)
You may get the following error when running a UIX web application deployed
to a non-Oracle application server, or clicking the BC4J Admin link on a BC4J
JSP application deployed to a non-Oracle application server:
[INFO] RequestProcessor - -Processing a 'GET' for Path...
Root cause of ServletException
java.lang.NullPointerException...
To avoid this error, you must make changes to the uix-config.xml file.
If you are running a BC4J JSP application with an Admin page, make the change
on the server:
- Find and unzip the
bc4j.ear file on the server.
- Unzip the
webapp.war file that is extracted.
- Open the extracted file
WEB-INF/uix-config.html in a text editor.
- Uncomment the
<default-configuration> element.
- Set the value of the
<full-uri> element to the URL of
your application server, including the port number.
- Set the value of the
<full-path> element to the full
local path to the parent directory of the cabo directory on your
application server.
Note: Be sure to use the parent directory, not the cabo directory
itself.
- Repackage the
webapp.war file.
- Repackage the
bc4j.ear file.
- Redeploy the modified
bc4j.ear file.
If you are running a full BC4J UIX application, make the changes inside JDeveloper:
- In the System Navigator, find the file
uix-config.html and
open it in the code editor.
- Uncomment the
<default-configuration> element.
- Set the value of the
<full-uri> element to the URL of
your application server, including the port number.
- Set the value of the
<full-path> element to the full
local path to the parent directory of the cabo directory on your
application server.
Note: Be sure to use the parent directory, not the cabo directory
itself.
- Save the file and redeploy the application to WebLogic.
Deploying Web Applications to Apache Tomcat 4.1
If you are deploying to Apache Tomcat 4.1, you will have
to copy the BC4J runtime libraries into tomcat_install/common/lib,
not tomcat_install/lib. See the help topic "Deploying Web
Applications to Apache Tomcat" for more information.
UIX JSP Tags not Detecting Shared Installables on Tomcat
4.04 and 4.1 (2525319)
When a UIX JSP page is run the uix jsp tags produce output with references
to cabo images. When deployed to Tomcat 4.04 and 4.1, some images do not render
correctly because of incorrect links on the generated html.
The solution is to configure Tomcat one additional step, enabling "crossContext"
for that Context. For example, you can add the following line to server.xml:
<Context path="/uix" docBase="uix" debug="0" crossContext="true"/>
This will cause a webapp at "/uix" to be able to detect the "/cabo/"
shared installables. You need one such line for every web app that will need
access to the shared installables.
Problems in JSP Applications Deployed to Tomcat (2615358)
Due to a Tomcat bug, you may get the following error message when running a
JSP application deployed to tomcat:
Only one of the two parameters ... or ... should be defined.
This is caused by an error in Tomcat's tag pooling mechanism. Because Tomcat
does not release tags after pooling, subsequent uses of the same tag with incompatible
attributes defined will cause this error.
To avoid the error, you must disable tag pooling in Tomcat:
- Open the file
<tomcat_home>/conf/web.xml in
a text editor.
- Find the following element:
<init-param>
<param-name>enablePooling</param-name>
<param-value>true</param-value>
</init-param>
- Change the value of
<param-value> to false.
Deploying BC4J Projects to WebLogic 7
The online help contains information on deploying BC4J projects to WebLogic
6.x. For detailed instructions on deploying BC4J projects to WebLogic 7, see
the How To documents on OTN (/products/jdev/index.html).
UIX JSP - Missing blaf.xss in WebLogic (2597479)
If you are running an UIX JSP and you get an error similar to "Required
XSS file c:\bea\user_projects\jdev\applications\DefaultWebApp\styles\blaf.xss"
it may be due to a problem with virtual paths in WebLogic. To resolve this issue,
you'll need to modify the uix2-install.zip that WebLogic is loading (the original
location for this file is <jdev_home>/jdev/redist).
The uix2-install.zip file has a directory structure that includes the cabo
directory in all paths. For example, tliner.gif is in cabo\images. The cabo
directory needs to be removed so that WebLogic doesn't confuse it with the virtual
directory cabo that exists after you have deployed your application to WebLogic.
Modify uix2-install.zip to remove cabo path:
- Uncompress the uix2-install.zip file into a temporary directory (for example,
c:\temp\). If you are using the jar command, you can use the command jar -xf
uix2-install.zip.
- Create a new zip file based on all the files in the cabo directory, but
not including the cabo directory in the archive path. If you are using the
jar command, cd into the cabo directory, then use the command jar cvf uix2-install.zip
*
- Copy the new war file over the original uix2-install.zip file in your WebLogic
server path.
Type Incompatibilities when Deploying to WebLogic
Some applications deployed to WebLogic may have type incompatibilities if
you use the BEA supplied Oracle classes. To ensure that you don't have these
problems, replace the supplied classes12.zip and classes12.jar file in your
server's lib directory with classes12.jar in the <jdev_install>/jdbc/lib
directory.
WebLogic6.1 Fails to Understand 'Windows-1252' Encoding
in XML Files
WebLogic6.1 fails to understand 'Windows-1252' encoding in the xml files. This
is a bug in the xmlparser in WebLogic6.1. To deploy applications in JDeveloper
to WebLogic6.1 change encoding to an IANA encoding that WebLogic6.1 recognizes.
It is recommended to use UTF-8 encoding. Japanese users need to use Shift_JIS.
- Open Tools | Preferences.
- In the Environment panel change the Encoding field to UTF-8.
- Click OK.
Now create a new project and your application.
Multiple Deployments of an EJB on WebLogic (2577330)
When deploying to WebLogic, if you use the same EJB in
two or more different applications, the second deployment will likely lead to
a JNDI name collision. Therefore, you must rename the JNDI name of the EJB for
the second deployment as follows:
- Right-click
weblogic-ejb-jar.xml, and
select Settings.
- Under Enterprise Java Beans, select the relevant ModuleBM
bean. The EJB tab is displayed on the right.
- In the EJB tab, change the JNDI Name field so that
it is different from any other JNDI Name in
weblogic-ejb-jar.xml
and any other EJBs that are already deployed to WebLogic.
- Deploy the application accessing the EJB to WebLogic.
During deployment, the IDE automatically fills in the
weblogic.xml
with appropriate EJB references.
Deploying an EJB Throws CompilationException Error (2485297)
If you deploy an EJB and get a CompliationException error
in the JDeveloper console, you may need to use a different compiler. Use this
procedure to ensure that the ojc Java compiler is used instead
of modern:
- Add a
<library> element in <jdev_install>/j2ee/home/config/server.xml
to point to where ojc.jar is located. Specifically, for the OC4J that ships
with JDeveloper, add this element at the end of server.xml. It
should be the last child element of application-server:
If preferred, an absolute path is also supported. An example with absolute
path and relative path follow:
<library path="D:\jdev903\jdev\lib\ojc.jar"/>
<library path="..\..\..\jdev\lib\ojc.jar"/>
If ojc.jar is not physically located
on the same machine as the OC4J installation, copy ojc.jar
from the JDeveloper installation to the machine running OC4J and then update
server.xml with an appropriate library element.
- Launch OC4J with a -Dbuild.compiler=ojc property.
For example:
java -Dbuild.compiler=ojc -jar oc4j.jar
Incorrect Copy or Missing Application Deployment Descriptor
Files in the EAR File (2548426)
If you create a J2EE deployment profile without specifying default connection
or target platform information in the Settings | Platform panel, JDeveloper
will produce a vanilla J2EE EAR file that does not contain any platform-specific
deployment descriptor files, such as orion-application.xml, even if such files
are contained in the project.
If the EAR file is missing the needed platform-specific deployment descriptor
files or contains an auto-generated file instead of the file from your project,
then you need to specify either a default connection with the deployment profile
or a default target platform (when not deploying to a connection) in the profile's
Platform panel.
To select a default connection or target archive platform, use this procedure:
- Right-click the deployment profile (for example webapp1.deploy), and choose
Settings from the context menu. The Deployment Profile Settings page appears.
- From the Platform panel, select a default connection from the Default Connection
drop-down list box.
- Alternatively, you may instead select an archive target platform from the
Archive Target Platform drop-down list box if you need to assemble archives
without deploying them to a server.
- Click OK to save these selections.
If you select an Oracle server as the default connection or target platform,
the orion-application.xml file for this deployment should now be correct.
How to Create VisiBroker Naming Mode Profile (2591970)
Visibroker naming mode is no longer created by default. You will need to do
this manually by creating deployment profiles for Visibroker mode. This will
create the VBBind and VBColocate mode profiles. Copy the bind mode profile and
edit the copy it to make it a Naming mode profile. OC4J Memory Requirements
By default, OC4J preloads a large number of classes to
improve performance. Because of this, you may get a java.lang.OutOfMemoryError
when you attempt to deploy to OC4J.
If you get a java.lang.OutOfMemoryError, you
have two options:
- If your machine lacks sufficient free memory to run
OC4J with a larger maximum heap size, shut down the Java process that runs
OC4J and restart it with the -Doracle.j2ee.dont.use.memory.archive=true
flag to turn off class preloading, for example:
java -Doracle.j2ee.dont.use.memory.archive=true -jar oc4j.jar
- If your machine has at least 512MB of free memory,
OC4J will run more quickly if you leave preloading enabled, but startup time
will increase considerably. Shut down the Java process that runs OC4J, and
restart it with a larger maximum heap size using the -mx flag, for
example:
Java -mx512M -jar oc4j.jar
EJB Issues
Compound Primary Key (2512678)
OC4J does not support CMP entity beans with container managed relationships
and compound primary keys.
Miscellaneous EJB Issues
- Cannot create a 1:1 bi-directional CMR for entity beans when database tables
are reverse engineered. (2447364)
- Null pointer exception when an EJBSelect() method is called. (2428884)
JClient Issues
JTree Binding is not Editable (2061405)
When you create a Java Tree control you can define the property EDITABLE in
the property inspector. If this property is set to TRUE and you edit a node
on the tree, you will receive an exception. The binding for the tree control
does not support this being editable.
Tree Editor Currently does not Support Recursive Rules
(2577052)
The tree editor checking mechanism fails on valid recursive rules. This means
that even if you created a valid recursive rule in the editor, the validation
check will fail and it will not generate code for you.
The following describes how to create a recursive tree.
Create a default AppModule using Dept and Emp. Now create an Association EmpSelfAssoc
using Emp.Mgr as a destination and Emp.Empno as a
target. Then create a ViewLink EmpSelfAssoc using the Association
mentioned above.
If you now look in the EmpView definition file you will see a
named reference to this ViewLink (the ViewLinkAccessor).
You can now create 2 types of recursive trees.
With Dept as Root:
// Create a JClient Tree model using the 'DeptView1' viewobject
// instance as the root of the tree.
jTree1.setModel(JUTreeBinding.createTreeNodeTypeBinding(panelBinding, jTree1,
"DeptView1", null, "DeptView1Iter",
// define 2 rules.
new JUCtrlHierTypeBinding[] {
// If the parent node is of type 'mypackage.DeptView' find
// and use its 'EmpView' accessor.
New JUTreeAccessorTypeBinding("NodeType1", "mypackage1.DeptView",
"Dname", "EmpView", null, null, null),
// If the parent node is of type 'mypackage.EmpView' find
// and use its 'MgrEmpView' accessor.
New JUTreeAccessorTypeBinding("NodeType2", "mypackage1.EmpView",
"Ename", quot;MgrEmpView", null, null, null)
}
)
);
Emp only with Emp as Root:
// Create a JClient Treemodel using the 'EmpView1' viewobject
// instance as the root of the tree.
jTree1.setModel(JUTreeBinding.createTreeNodeTypeBinding(panelBinding, jTree1,
"EmpView1", null, "EmpView1Iter",
// define 1 rule
new JUCtrlHierTypeBinding[] {
// If the parent node is of type 'mypackage.EmpView' find and
// use its 'MgrEmpView' accessor.
New JUTreeAccessorTypeBinding("NodeType1", "mypackage1.EmpView",
"Ename", "MgrEmpView", null, null, null)
}
)
);
Remembering the following rules:
- BC4J defines definitions in packages. You will find the following type of
definitions:
- entities and associations (object mapping to tables and relationships)
- viewobjects and viewlinks (object mapping to queries and their relationships)
- appmodule (definition of how you will be using viewobjects and viewlinks)
- The AppModule will define an application model. In this application model
you define named usages/instances of viewobjects. When you create an AppModule
all these viewobjects are instantiated on the middle tier and you can get
to them by name.
- The root of the tree maps to one of these instances. This is required to be
able to populate the first level. The rest of the tree is populated by rules
and the viewobject instances are created dynamically. That is why the root
uses a name that matches a view object in the appmodule and every rule matches
a view object definition in your package.
Webstart not Launched in IE 5.5 Due to Mimetype Problems
(2573655)
When attempting to run a JClient webstart application in Internet Explorer 5.5
using the local.jsp link generated by the JClient Web Start Wizard, Java Web Start
does not get launched. Instead IE 5.5 will prompt you to open a file.
The workaround is to create a new mime type using regedit and associating it
to the .jnlp extension. For example, in regedit, locate HKEY_CLASSES_ROOT
-> MIME -> Database -> Content Type -> application/x-java-jnlp-file;charset=ISO-8859-1
and set property Extension to value .jnlp.
JComboBox Bound to JClient LOV Breaks with Seteditable
(FALSE) ( 2591283)
A ComboBox control with a JClient LOV binding will not display a default selection
for the bound attributes. This can occur when you create the combobox and set
the editable field to true, and then use the Code Editor to change the field
back to false. The workaround to view the row selection is to expand (drop down)
the combobox.
JClient Java Web Start Throws Security Exception in Local
Mode (2566584)
When you create a JClient application and try to run in Local mode (the default
deployment mode for running in JDeveloper) using Java Web Start, the Java security
exception AccessControlException is thrown. Specifically, the AccessControl
exception is thrown when an attempt is made to read the oracle.xdkjava.compatibility.version
system property. Other deployment modes do not have this problem because in
those cases the JAR files have to be signed anyway. The workaround depends on
the version of Java Web Start you are using:
Source Control Support Issues
Oracle9i SCM: JDeveloper Does Not Share Folder
Mappings with the Oracle9i SCM RON
If the Oracle9i SCM Repository Object Navigator is used to download
or synchronize files to the file system, JDeveloper does not recognize the downloaded
files as Oracle9i SCM files. This is because mapping information stored
by the RON is not available to JDeveloper.
To download Oracle9i SCM files to the file system for use in JDeveloper:
- Use the Workarea Wizard in JDeveloper to create your workarea. The files
in the workarea will be automatically downloaded to the workarea download
folder.
OR
- Use the Folder Mappings tool in JDeveloper to specify a workarea download
folder and map folders you want to download to the file system. You can use
Folder Mappings to download files in a workarea created in the RON.
Oracle9i SCM: Oracle9i SCM Folders Cannot
be Checked In Through JDeveloper (2108198)
It is not possible to check in Oracle9i SCM folders through JDeveloper.
Merging may result in checked out folders being displayed in the merge results
window, but they cannot be checked in. Also, you may discover checked out folders
using the List Checkouts utility. To check folders in, you must use the Oracle9i
SCM Repository Object Navigator.
Oracle9i SCM: Using JDeveloper and the Oracle9i
SCM VHV
After performing source control operations using JDeveloper, such as merging
or checking files in or out, the VHV should not be used to perform further operations
on these files.
Oracle9i SCM: Connecting to Oracle Software Configuration
Manager 6i Release 4.1.1 or Above
Oracle9i JDeveloper is certified to work with Oracle9i Software
Configuration Manager which is part of Oracle9iDS Release 2 v9.0.2. Note
that Oracle9i JDeveloper will not prevent you from connecting to Oracle
Software Configuration Manager 6i Release 4.1.1 or above, but this is
not a certified combination.
Modeling Issues: General
Performing Source Control Operations On Model Element and
Diagram Files (2211605)
If model element, or diagram, files are stored in a source control system,
it is recommended that any source control operations are performed on those
files before they are loaded into memory. If a source control operation is performed
on a model element or diagram file while it is currently held in memory, any
changes to the copy of the file currently held in memory could be overwritten.
To ensure that a model element or diagram file is not currently being held in
memory, restart JDeveloper, then perform the source control operation before
opening the model element or diagram.
Move Class Does Not Rename Constructors
If you rename a modeled class on a class diagram and do not have the source
file for that class open, any constructors on that class are not renamed to
match the name change of the class. The project will then not compile.
Note: this is only a problem if you have synchronization between the modeled
element and the source code turned on (default). If you have turned synchronization
off, then the project will compile, but the constructors in the source file
are not renamed.
The workaround is to:
- Open the .java source file for the modeled class you want to rename, then rename
the modeled class.
OR
- Rename the constructor in the Java file by hand once you have renamed the
modeled class on the diagram.
Modeling Issues: Modeling Java Classes, BC4J or EJB Components
Class Diagram Marked as Modified on Opening if it Contains
EJBs (2441294)
If a class diagram containing modeled Enterprise JavaBeans is opened, the diagram
is automatically identified as modified even if no changes have been made to
the diagram.
Modeling Issues: Modeling Activities for E-Business Integration
E-Business Integration Generator Generates Propagations
Using Public Database Links (2063917)
A bug in AQ propagation (2146152) means that remote propagations fail when
using private database links to specify the destination. The E-Business Integration
Generator presently generates and deploys remote propagations that use public
database links in order to circumvent this problem.
This bug will be fixed in later versions of the database. After applying this
patch, the public database links can be manually replaced with private database
links, by querying the contents of the ALL_DB_LINKS view and creating private
database links in the appropriate schema, with the same details as the public
links being replaced.
Exception Thrown When User Has Not Been Granted Rights to
DBMS_AQADM (1974543)
The AQ deployer does not presently detect whether or not a database user has
been granted execute rights to the DBMS_AQADM package. In the case that the
database user does not have this right, each AQ deployment step will be reported
with a separate failure message in the deployment log window.
Using HTTP Propagation on a 9.0.1 Database
If you use a 9.0.1 database and wish to use HTTP propagation, you must download
and install an upgrade to the XML Developer's Kit for Java from OTN, version
9.0.2.0.0C. Instructions on how to install this upgrade into the database are
provided in the download itself. The xsu12.jar file in the lib subdirectory
of the download should also replace any existing version of xsu.jar in the classpath
of the webserver that runs the AQ propagation servlet.
Web Services Issues
SOAP Web Service does not Start New Session (2218102)
When you have a SOAP web service created using JDeveloper that uses a scope
of "session", it does not start a new session when accessed by a different
client.
Using JMS Web Services with OC4J
OC4J/JMS is not supported in Oracle9iAS 9.0.3 or OC4J 9.0.3. OJMS is
the JMS interface onto Oracle AQ in the database, and it is Oracle's J2EE 1.3
compliant JMS provider.
To run a JMS web service deployed to OC4J 9.0.3 or Oracle9iAS 9.0.3,
you should configure OC4J to hand over the JMS implementation to OJMS. For more
information, refer to "Oracle9iAS Containers for J2EE ()C4J) - Java
Message Service (JMS) - Frequently Asked Questions" on the Oracle Technology
Network, /tech/java/oc4j/htdocs/OC4J-JMS-FAQ.html.
Creating JMS Web Services that Use Both Send and Receive
Operations
When you create a JMS web service that uses both a send and a receive operation
you must explicitly specify different connection factories and destinations
for the send operation and the reply-to operation, unless you are certain that
the web service client wants to send to and receive from the same destination.
In Step 3 of the JMS Web Service Wizard, select Receive operation uses separate
JMS destination, and enter the connection factory and the destination for
the receive operation. These must be different to the connection factory and
destination for the send operation.
Client Type Mappings are Incorrectly Registered for EJB
Web Services that Use Complex Parameters (2610577)
When you create a web service for a stateless session EJB that uses complex
parameters the web service will run correctly, but you must edit the WSDL file
before you generate a stub for the service otherwise the QName in the client
side type mapping will be incorrect.
Double-click the WSDL file to open it. In the <definitions> section,
edit the xmlns:nsl entry to remove the "I" from "http://<package_name>/IStatelessSessionEJB.xsd".
Next, in the <schema> section of <types>, edit the targetNamespace
to remove the "I" from "http://<package_name>/IStatelessSessionEJB.xsd".
Finally, you can generate, or regenerate, the stub to the web service.
Cannot Invoke Methods that Use oracle.jbo.domain.Number
as Web Services (2600644)
The Java Web Service Publishing Wizard incorrectly allows you to publish methods
that use oracle.jbo.domain.Number as a parameter or return type. This will result
in a runtime error when the published operation is invoked, as the oracle.jbo.domain.Number
type is not serializable.
A workaround to invoke the floatValue method on the Number you wish to return,
as the float type is serializable.
Cannot Create PL/SQL Web Service for Oracle9i Personal
Edition (2591731)
It is not possible to use Oracle9i Personal Edition database as the
source of PL/SQL packages to publish as web services, because SQLJ does not
correctly recognize Personal Edition databases, and hence does not work as required
by the PL/SQL Web Service generator.
If you attempt to publish a PL/SQL package from a Personal Edition database,
generation will fail with an exception message. However you can continue your
other work in JDeveloper.
Deleting Web Services (2592996)
When the active project in the Navigator is displayed in categories view (select
the project, and choose Project | Show Categories) and the Show All
Files has been selected for the source files (select Source for the
project, then choose Projects | Show All Files) then web service nodes
will erroneously show up in this category.
This is only a problem if you delete a web service by right-clicking it in
Source and selecting Delete Web Service, as it causes JDeveloper
to hang. To delete the web service, switch the project out of category view
(using Project | Show Categories), delete the web service, and then switch
back to category view.
Java Classes Compiled with JDK 1.4 Cannot be Deployed as
Web Services (2385468)
Java Classes compiled using the JDK 1.4 compiler will cause an exception while
generating server-side web service artifacts. The workaround is to ensure that
all web service classes are compiled using a pre-1.4 JDK.
Running the PL/SQL Web Service Generator with JDK 1.4
To work properly under JDK 1.4, the PL/SQL web service generator needs to be
run with Oracle's JDK 1.4-specific JDBC drivers. These can be downloaded from
, and should be unzipped into the <jdev_install>/jdbc/lib
directory.
To configure JDeveloper to use the JDK 1.4 JDBC drivers, you must amend the
<jdev_install>/jdev/bin/jdev.conf file. Replace the
line:
AddJavaLibFile ../../jdbc/lib/classes12.jar
with
AddJavaLibFile ../../jdbc/lib/ojdbc14.jar
JDeveloper will now use the JDK 1.4 version of the JDBC drivers, for all JDBC
operations.
Deployment Target Type Changed on Canceled Operation (2174089)
If you change the default deployment target type in the Web Services Wizard,
and then click Cancel, the change to the default deployment
target is saved anyway. To remedy this problem, invoke the wizard again, restore
the name of the default deployment target then click Cancel
again.
Runtime Error Calling a Web Service from a Generated Stub
(2389203)
If you receive a runtime error when calling a web service from a generated
stub, and the returned value is an unrecognized XML type, you should use a command
similar to the following to deserialize the XML type into a string.
m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"),
null, null,
new org.apache.soap.encoding.soapenc.StringDeserializer());
Cannot Model Web Services Based on PL/SQL Packages (2466833)
Modeled web services on class diagrams cannot be based on PL/SQL or JMS web services.
Cannot Rename a Web Service PL/SQL Wrapper Class Using Refactor
(2433468)
Do not rename a PL/SQL wrapper class for a PL/SQL web service using Refactor,
because it will not update the PL/SQL web service or the deployment descriptor
and you should rename these manually. Refactor does, however, work for Java
web services.
Renaming Methods with Primitive Signatures Using the Web
Service Modeler Will Result in Method Duplication (2510663)
If you have a method on a modeled web service whose signature consists of primitive
types, renaming the method will cause a new method to be created, but the old
method will not be unpublished. This results in an additional method being published,
which must be unpublished manually.
Using WebDAV Connections in JDeveloper
Web-based Distributed Authoring and Versioning (WebDAV) is a set of extensions
to the HTTP protocol that enables access to files on remote Web servers.
Note: Before using WebDAV Connections in Oracle9i JDeveloper,
you must first install the WebDAV extension from the Extension Exchange on OTN.
For more information, refer to Installing Oracle9i JDeveloper Version 9.0.3.
UNIX-Specific Issues
Right Clicking on an Item within the System Navigator
Results in an Error Icon on HPUX (2602269)
The error icon (a page with a circle with a slash in it) is misleading. Perform
a left click to get rid of the error icon and to invoke the context menu for
that item.
Embedded OC4J will not Terminate Via Run->Terminate
on Redhat 2.1/AS (2606290)
This is caused by SUN JDK bug #4344135/4755503 within the HotSpot JVM of SUN
JDK 1.3.1.02 for Linux that is fixed in SUN JDK 1.4 for Linux. A workaround
has been implemented for all other supported Linux distributions and versions.
For Redhat 2.1/AS, JDeveloper has to be exited for the embedded OC4J process
to terminate. Another option is to use the Classic JVM. This preference setting
can be done by doing a Project | Project Settings..., choosing Runner,
and then changing Virtual Machine: to Classic.
Netscape Communicator Prior to Version 6.X does not
Support Editing of Textarea Elements
On the Solaris platform, Netscape Communicator prior to version 6.x does not
support editing of textarea elements that are modifiable (not read-only). If
you use an earlier version of the Netscape browser for Solaris and generate
JSP pages using the BC4J JSP wizards the textarea elements with Integer attribute
values will not be editable. The workaround is to upgrade your Netscape Communicator
to 6.0 or later.
Warning Message When Running JDK 1.4
When running JDeveloper on Solaris using JDK 1.4, you may receive a message
stating that the directory ~/.java/.userPrefs is being created.
The directory is automatically generated by Java, and you can ignore this message.
Issues with the Hotspot JVM in SUN JDK 1.3.1.02 for Linux
(2458363)
There are issues within the Hotspot JVM in SUN JDK 1.3.1.02 for Linux that
show up during debugging of java processes started within JDeveloper. Debugging
session can error out with messages like the following:
#HotSpot Virtual Machine Error, Internal Error
#Please report this error at
#http://java.sun.com/cgi-bin/bugreport.cgi
#
#Error happened during: mark sweep
#
#Error ID: 4652414D450E43505002F0
#
#Problematic Thread: prio=1 tid=0x808b0b8nid=0x20df runnable
#
Debugger disconnected from local process.
Process exited with exit code 0.
When these types of issues are encountered, Oracle recommends using the Classic
JVM. This preference setting can be done by doing a Project | Project Settings...,
choosing Runner, and then changing 'Virtual Machine' to 'Classic'.
Some Accelerator and Modifier Keys May Not Work on Non-Windows
Operating Systems
Since differing desktops will reserve keys for it's own functionality, conflicting
JDeveloper accelerator and modifier keys will need to be re-mapped, accordingly.
This can be done within the Preferences page for Accelerators by doing a Tools
| Preferences... and selecting Accelerators.
Debugging (Especially Important on Non-Windows Platforms)
In order to use the debugger, you must use a Java 2 SDK (often called a JDK).
You should not try to debug using a Java 2 Runtime Environment (often called
a JRE). The Java 2 Runtime Environment does not include the files necessary
for debugging with the HotSpot or Classic virtual machines. If you try to use
a Java 2 Runtime Environment, you may see the following error message displayed
in the log window when you try to start the debugger:
Debugger attempting to connect to local process......
Error occurred during initialization of VM
Could not find -Xrun library: libjdwp.so
......
Debugger unable to connect to local process.
File | Print on Any Editor Results in a Small, Non-resizeable
Print Dialog on Some Linux Desktops (2524819)
Doing a File | Print on any editor within JDeveloper when running on
a KDE2 desktop results in a print dialog that is small and non-resizeable, resulting
in the loss of printing functionality. This is caused by SUN JDK bug 4342102/4756345
within SUN JDK 1.3.1.02 for Linux that is projected to be fixed in SUN JDK 1.4
for Linux. As a workaround, use the GNOME desktop.
Windows-Specific Issues
Using interMedia with a JSP Application on Windows
XP
If you have a JSP application that uses interMedia, in an Explorer browser
on an XP operating system, there may be some problems with certain types; it
has been found that MP3 files sometimes have problems running on some players.
There may be other files that will also not run.
To work around the problem, first make sure you have the latest updates for
Explorer/XP. Also make sure you have the latest updates for your player. Try
other players (with updates) as well. If this fails, try another browser such
as Netscape, which has played back MP3 files successfully in testing.
Long Startup Time on Windows (2435555)
If JDeveloper takes a long time to start up on Windows, it may be due to real
time scanning of .zip files by an antivirus program. The default settings of
the following virus checkers are known to cause large performance problems when
starting up JDeveloper:
- Trent PC-Cillan 2000 or 2002
- Symantec Norton Antivirus
- Computer Associates eTrust
To improve the startup time of JDeveloper, you should configure your virus
checker's real time protection so that it does not scan inside Zip files.
Miscellaneous Issues
Using the OCI Driver with JDeveloper
In order to create connections to an Oracle database using the OCI driver,
the OCI client version and the JDBC driver version must match. If the versions
are not the same, testing or opening the connection will fail. Depending on
the
version of the OCI client, one of the following errors may be reported:
- Character Set Not Supported !!: DBConversion
- oracle.jdbc.oci8.OCIEnv.envCharSetId
- java.lang.NoSuchFieldError: oracle.jdbc.oci8.OCIEnv.envCharSetId
In either case, you must either install the OCI client version that matches
the JDBC drivers included with JDeveloper, or replace the JDBC drivers (located
in $JDEV_HOME\jdbc\lib) with the drivers in $ORACLE_HOME\jdbc\driver.
Using CodeCoach on a Project Using J2SE 1.4.1 (2614183)
When using CodeCoach on a project using J2SE 1.4.1 it may fail to produce results.
The workaround is to go to the project's properties, select the CodeCoach panel
and deselect the advice for Hashtable, StringBuffer and Vector objects.
Remote UI Debugging
When you debug an application remotely, the classpath must include one
of these in addition to ...\jdev-rt.jar.
%CLASSPATH%
.
- The path to the application.
One of these is required because the -cp is overwritten.
For example, find this section in the directory containing the class to
be run:
java -ojvm -XXdebug -cp ...\jdev\lib\jdev-rt.jaroracle.jdevimpl.runner.uidebug.debuggee.Debuggee <MainClass>
Replace it with this:
Java -ojvm -XXdebug -cp .;...\jdev\lib\jdev-rt.jaroracle.jdevimpl.runner.uidebug.debuggee.Debuggee <MainClass>
Previewing uiXML for Business Components Pages
Before previewing uiXML for Business Components pages, make sure to compile
your Business Components project and to compile the Client Data Model (.cpx)
file in the client project. Compiling these files will ensure that the Business
Components are accessible and that the .cpx file is present in your project's
output path.
UIX Runtime Only Supports Latin-1 URL Parameter Names
(2610038, 2409499)
The UIX BasePageEncoder automatically decodes URL parameter values but currently
does not decode URL parameter names. In event handlers, this can cause the parameter
values not to be found when accessed by the decoded parameter name, since they
were stored in the parameter map using the encoded parameter name. This limitation
will be removed in future UIX Runtime versions. You can workaround this problem
by taking care to use Latin-1 parameter names.
The uiXML for Business Components wizards generated code uses the View attribute
names as URL parameter names. If your View attribute names contain characters
outside of the Latin 1 (ISO-8859-1) character set, you will have to explicitly
add Latin 1 parameter names to the form controls for updating and creating rows.
For example, in the pageLayout:
<bc4j:messageTextInput attrName="nonLatin1ParameterName" parameterName="latin1Name" />
And in the event handler:
<bc4j:setAttribute attrName="nonLatin1ParameterName" parameterName="latin1Name" />
Cannot Compile Included JSPS: Variable not Found in Class
Error (2370587)
This error occurs when you try to compile a JSP in JDeveloper which is supposed
to be included in other pages and is not intended to be compiled standalone,
as JDeveloper attempts to compile all JSPs on their own.
JDK 1.4 and the Assert Keyword (2394626,2394613)
The parser and the code editor do not know about the 'assert' keyword yet.
The workaround to enable JDK 1.4 assert keyword support
in the code editor is to uncomment the following line in the $(JDEV_INSTALL_DIR)\jdev\bin\jdev.conf
file, and restart JDeveloper:
AddVMOption -DEDITOR_ENABLE_ASSERT=true
Scan Source Paths to Determine Project Contents
It is now possible to exclude files from dynamic projects by modifying the
value of the Ide.ProjectExcludeFilters property in JDEV_USER_DIR/system###/ide.properties.
There are extensive comments in ide.properties on how to use this new property.
Extension In JDEV/LIB/EXT Shown As Loaded When Superseded
In User/Lib/Ext (2506275)
If the same extension is located in both the <jdev_install>/jdev/lib/ext
and <user_home>/lib/ext folders, the extension in latter
location has precedence over the one in the former location, and the Extension
Manger preference panel will list the extension located in <jdev_install>/jdev/lib/ext
as loaded even when this is not the case.
Unable to Update interMedia Attributes in Wizard Generated
uiXML BC4J Applications (2427189, 2420519)
When you use JDeveloper "uiXML for Business Components" wizard to
generate uiXML applications, if there are interMedia attributes in the VO, you
have to modify the generated uiXML applications to make it work:
- Update web.xml to specify OrdFileUploadManager as the FileUploadManager.
For example:
<servlet>
<servlet-name>uix</servlet-name>
<servlet-class>oracle.cabo.servlet.BajaServlet</servlet-class>
...
<init-param>
<param-name>oracle.cabo.servlet.io.FileUploadManager</param-name>
<param-value>oracle.cabo.data.jbo.servlet.io.OrdFileUploadManager</param-value>
</init-param>
</servlet>
- Update "xxxx_Create.uix" and "xxxx_Update.uix" files to add (usesUpload="true")
attribute to the <form> element. For example:
<form name="createForm" usesUpload="true">
Error when Dropping a Struts Tag to Non-Struts
Project (2360274)
In a non-struts project, you can drop a Struts tag (like Struts templates-insert
tag) to a JSP file and compile the file successfully. However, you will get
an error in the runtime JSP page:
java.lang.NoClassDefFoundError: org.apache.struts.taglib.html.
This is because the Struts tags are all located inside of struts.jar, but the
supporting classes for runtime are located in the struts/lib directory which
is not copied over because of the size. To insure that your Struts application
does work, add the Struts Runtime library to your current Struts project. This
will insure your classpath is correct.
Editor Windows System Menu Doesn't Appear
(2387616)
Under the Metal Look and Feel, the System menu of the editors (which displays
Minimize, Maximize, and Close) is not available; this impacts keyboard accessibility.
JAWS Reads out Incorrect Value for Name Field in Entity
Facade Wizard (2565769)
Users of JAWS software may encounter this bug when creating a new EJB Entity
Facade. On Step 1 of the Entity Facade wizard, when the user tabs to the Name
field, JAWS reads the contents of the Project field. The workaround is to tab
through the controls once. When the Name field is
selected the second time, JAWS correctly reads the value of the Name field.
|