Trace example in examples.jar
Hello:
The Trace example in examples.jar that comes with JDK 1.4 is very
useful, but very slow.
I was thinking how could the source code be modified so that I could
use the same by connecting to a running JVM so that it doesn't log at
startup. The application is too big and hence the process is very
slow. Excluding or including packages I guess doesn't make a
performance difference.
Or, if there is any other way to make it faster let me know?
Thank you.
To attach jdb we use like-
java -Xdebug -Xrunjdwp:transport=dt_shmem,address=5000,server=y,suspend=n
How to pass this in Trace.java
Similar Messages
-
Compiling & Installing Example Jar
I have a Vodafone V710, just bought it.
I have created an sample application with NetBeans to run on my phone.
Installing the JAR over USB with the V710 tool doesnt work.
So I found out that there is a lot of discussions about the DRM.
I tried to find out how to create a DRM JAR, its pretty complicated, important is that you have i think a device key and application manifuctorer key or something.
I found a tool called DRM packer on sony-erricson site, but thats only for media files I think.
I have to use NMIT_41.zip (Nokia Mobile Internet Toolkit) i think, i did not test this yet.
I read some specs about DRM and theoretically via USB, Bluetooth,MMS,WAP its installable, but V710 only is WAP-enabled for JAR files, i think.
I can make or check for a WAP sniffer for special HTTP tags to determine what type of JAR to send...
But I would like to have:
- the A to Z of making a example JAR application
- thats compatible on all Java-compatible mobiles, so PHP code of the WAP side too
- and a list of what tools to use
- maybe a tutorial
Can some help,
I am looking for days now.Hi ,
As suggested by you we have installed Java5. But still the problem persists. The details configuration of the PI7.1 server is as follows:
INSTALLED PI 7.1 on operating system Aix 5.3
Component version : SAP EHP1 for SAP NetWeaver 7.1
Component Release level Support Description
SAP_ABA 711 0002 SAPKA71102 Cross-Application Component
SAP_BASIS 711 0002 SAPKB71102 SAP Basis Component
PI_BASIS 711 0002 SAPK-71102I NPIBASIS Basis Plug-In
ST-PI 2005_1_710 0003 SAPKITLQJ3 SAP Solution Tools Plug-In
SAP_BW 711 0000 - SAP Business Warehouse
Pls suggest as to what needs to be done to make the JDBC Adapter work in PI7.1.............
Thanks
Regards
suk4023 -
I am very proficient in java, but I am new to jdb. I have read all the "tutorial" and I have an understanding of how to use the tool to execute a java program, but I was wondering if someone might post a simple example of how I would use this technology in creating my own debugger.
By "tutorial", I believe you mean the documents at:
http://java.sun.com/products/jpda/
In particular, the platform architecture document is useful
because it shows where the different debug APIs operate:
http://java.sun.com/j2se/1.4.1/docs/guide/jpda/architecture.html
After reading the overview docs, I suggest you start by taking
a look at the example source code, which is described here:
http://java.sun.com/products/jpda/examples.html
The example source code is included in your J2SE 1.4.xx bundle
under the demo directory. Look in $JAVA_HOME/demo/jpda/examples.jar
To compile or run the examples, you need to add
$JAVA_HOME/lib/tools.jar to your classpath.
After you unpack examples jar, look for
com/sun/tools/example/trace/Trace.java
After you understand the trace example, take a look
at the source for jdb. That will be located under:
com/sun/tools/example/debug/tty -
I want to see what SQL statements are executed against HANA when I run BObj Analysis for Excel on top of HANA views I had created. Accordingly to the HANA Development Guide p.63 it should be possible. Actually, I don't see my SQL statements in the log.
Details are as follows:
1. I have enabled JDBC Trace in HANA Studio, in properties of the HANA db instance I'm working with. Well, the Guide advises to use a separate NGDBC.JAR for it, but I assumed that would be the same functionality. Q1: Is there any difference in terms of JDBC Trace contents, depending on the way it's been enabled with?
2. I have an analytic view MYCONTENT.ANV_001 that has, say, attributes SHIPTO and CALMONTH and a measure SALES. When I open the view in BObj Analysis for Excel, I expect it to run a SQL statement like SELECT SALES FROM MYCONTENT.ANV_001
3. Yet I don't see anything like that. The only SQL statement that may be related is "select * from DUMMY".
4. I tried to navigate through the view in Analysis for Excel, e.g. do some drilldowns and filters, but it continued running the same SQL statement against HANA.
Q2: Have I picked the executed SQL statement right? If yes, does it mean that BObj Analysis for Excel always generates most generic query against HANA? If no, how can I check what is the SQL statement being executed?
Update 5. I tried to enable JDBC Trace using the NGDBC.JAR library, but see no trace logs appearing at all. Q3: Could it be something wrong with the trace settings (well, there are just 4 of them, and it would be hard to make a mistake)? Q4: Does Analysis for Excel use JDBC Driver at all to access HANA?
Thanks!
/RB
Edited by: Roman Bukarev on Dec 13, 2011 4:53 AM
Edited by: Roman Bukarev on Dec 13, 2011 4:54 AMI second that. Using JFrame instead of JApplet is easy once you've seen an example:
http://java.sun.com/docs/books/tutorial/uiswing/learn/example1.html
When learning Swing, I can think of only disadvantages to using JApplet over
JFrame. Why do textbooks use applets? Old habits die hard and they
are out-of-date in their view of Java.
Side comment: when learning a new topic, like JDBC, I would
strongly advice you to write the simplest possible code at first.
In other words, skip the Swing and write simple console apps:
1. select and dump the contents of a table.
2. gradually do more sophisticated selects...
3. insert a record into a table using some fixed values.
3. delete records from a table.
4. update records using some fixed values.
Once you are comfortable doing CRUD, and used PreparedStatement!,
then add a GUI. And if your code is well-written, the GUI and the back-end
are separate enough anyway, that you can write and test them apart. -
Hi All
How can i add jar to my project environment.
Actually what i did was.
Created one folder called "JavaWork" like d:\JavaWork
and put the jar file into this folder and wrote a test class which is importing some classes from the jar file.
how to use jar ? Please someone help me.
Thanks in advance
Shan`man jar`
jar(1) jar(1)
NAME
jar - Java archive tool
SYNOPSIS
jar [ -C ] [ c ] [ f ] [ i ] [ M ] [ m ] [ O ] [ t ] [ u ]
[ v ]
[ x file ] [ manifest-file ] destination input-file
[ input-files ]
DESCRIPTION
The jar tool is a Java application that combines multiple
files into a single JAR archive file. It is also a gen-
eral-purpose archiving and compression tool, based on ZIP
and the ZLIB compression format. However, jar was
designed mainly to facilitate the packaging of Java
applets or applications into a single archive. When the
components of an applet or application (.class files,
images and sounds) are combined into a single archive,
they can be downloaded by a Java agent (like a browser) in
a single HTTP transaction, rather than require a new con-
nection for each piece. This dramatically improves down-
load time. The jar tool also compresses files, which fur-
ther improves download time. In addition, it allows indi-
vidual entries in a file to be signed by the applet author
so that their origins can be authenticated. The syntax
for the jar tool is almost identical to the syntax for the
tar(1) command. A jar archive can be used as a class path
entry, whether or not it is compressed.
The three types of input files for the jar tool are:
o Manifest file (optional)
o Destination jar file
o Files to be archived
Typical usage is:
example% jar cf myjarfile *.class
In this example, all the class files in the current direc-
tory are placed in the file named myjarfile. A manifest
file is automatically generated by the jar tool and is
always the first entry in the jar file. By default, it is
named META-INF/MANIFEST.MF. The manifest file is the
place where any meta-information about the archive is
stored. Refer to the Manifest Format in the SEE ALSO sec-
tion for details about how meta-information is stored in
the manifest file.
To use a pre-existing manifest file to create a new jar
archive, specify the old manifest file with the m option:
example% jar cmf myManifestFile myJarFile *.class
When you specify cfm instead of cmf (that is, you invert
the order of the m and f options), you need to specify the
name of the jar archive first, followed by the name of the
manifest file:
example% jar cfm myJarFile myManifestFile *.class
The manifest uses RFC822 ASCII format, so it is easy to
view and process manifest-file contents.
OPTIONS
The following options are supported:
-C Changes directories during execution of the jar com-
mand. For example:
example% jar uf foo.jar -C classes *
c Creates a new or empty archive on the standard out-
put.
f The second argument specifies a jar file to process.
In the case of creation, this refers to the name of
the jar file to be created (instead of on stdout).
For table or xtract, the second argument identifies
the jar file to be listed or extracted.
i Generates index information for the specified jar
file and its dependent jar files. For example,
example% jar i foo.jar
would generate an INDEX.LIST file in foo.jar which con-
tains location information for each package in foo.jar and
all the jar files specified in foo.jar's Class-Path
attribute.
M Does not create a manifest file for the entries.
m Includes manifest information from specified pre-
existing manifest file. Example use:
example% jar cmf myManifestFile myJarFile *.class
You can add special-purpose name-value attribute
headers to the manifest file that are not contained
in the default manifest. Examples of such headers
are those for vendor information, version informa-
tion, package sealing, and headers to make JAR-bun-
dled applications executable. See the JAR Files
trail in the Java Tutorial and the JRE Notes for
Developers web page for examples of using the m
option.
O Stores only, without using ZIP compression.
t Lists the table of contents from standard output.
u Updates an existing JAR file by adding files or
changing the manifest. For example:
example% jar uf foo.jar foo.class
adds the file foo.class to the existing JAR file
foo.jar, and
example% jar umf foo.jar
updates foo.jar's manifest with the information in
manifest.
v Generates verbose output on stderr.
x file
Extracts all files, or just the named files, from
standard input. If file is omitted, then all files
are extracted; otherwise, only the specified file or
files are extracted.
If any of the files is a directory, then that direc-
tory is processed recursively.
EXAMPLES
To add all of the files in a particular directory to an
archive:
example% ls
0.au 3.au 6.au 9.au at_work.gif
1.au 4.au 7.au Animator.class monkey.jpg
e.au 5.au 8.au Wave.class spacemusic.au
example% jar cvf bundle.jar *
adding: 0.au
adding: 1.au
adding: 2.au
adding: 3.au
adding: 4.au
adding: 5.au
adding: 6.au
adding: 7.au
adding: 8.au
adding: 9.au
adding: Animator.class
adding: Wave.class
adding: at_work.gif
adding: monkey.jpg
adding: spacemusic.au
example%
If you already have subdirectories for images, audio
files, and classes that already exist in an HTML direc-
tory, use jar to archive each directory to a single jar
file:
example% ls
audio classes images
example% jar cvf bundle.jar audio classes images
adding: audio/1.au
adding: audio/2.au
adding: audio/3.au
adding: audio/spacemusic.au
adding: classes/Animator.class
adding: classes/Wave.class
adding: images/monkey.jpg
adding: images/at_work.gif
example% ls -l
total 142
drwxr-xr-x 2 brown green 512 Aug 1 22:33 audio
-rw-r--r-- 1 brown green 68677 Aug 1 22:36 bundle.jar
drwxr-xr-x 2 brown green 512 Aug 1 22:26 classes
drwxr-xr-x 2 brown green 512 Aug 1 22:25 images
example%
To see the entry names in the jar file using the jar tool
and the t option:
example% ls
audio bundle.jar classes images
example% jar tf bundle.jar
META-INF/MANIFEST.MF
audio/1.au
audio/2.au
audio/3.au
audio/spacemusic.au
classes/Animator.class
classes/Wave.class
images/monkey.jpg
images/at_work.gif
example%
To display more information about the files in the
archive, such as their size and last modified date, use
the v option:
example% jar tvf bundle.jar
145 Thu Aug 01 22:27:00 PDT 1996 META-INF/MANIFEST.MF
946 Thu Aug 01 22:24:22 PDT 1996 audio/1.au
1039 Thu Aug 01 22:24:22 PDT 1996 audio/2.au
993 Thu Aug 01 22:24:22 PDT 1996 audio/3.au
48072 Thu Aug 01 22:24:23 PDT 1996 audio/spacemusic.au
16711 Thu Aug 01 22:25:50 PDT 1996 classes/Animator.class
3368 Thu Aug 01 22:26:02 PDT 1996 classes/Wave.class
12809 Thu Aug 01 22:24:48 PDT 1996 images/monkey.jpg
527 Thu Aug 01 22:25:20 PDT 1996 images/at_work.gif
example%
If you bundled a stock trade application (applet) into the
following jar files,
main.jar buy.jar sell.jar other.jar
and you specified the Class-Path attribute in main.jar's
manifest as
Class-Path: buy.jar sell.jar other.jar
then you can use the i option to speed up your applica-
tion's class loading time:
example$ jar i main.jar
An INDEX.LIST file is inserted in the META-INF directory
which will enable the application class loader to download
the right jar files when it is searching for classes or
resources.
SEE ALSO
keytool(1)
JAR Files @
http://java.sun.com/docs/books/tutorial/jar/
JRE Notes @
http://java.sun.com/j2se/1.3/runtime.html#exam-
ple
JAR Guide @
http://java.sun.com/j2se/1.3/docs/guide/jar/index.html
For information on related topics, use the search link @
http://java.sun.com/
13 June 2000 jar(1) -
NET8의 LOGGING과 TRACE 관련 PARAMETER에 대한 Q & A
제품 : SQL*NET
작성날짜 : 2002-05-07
NET8의 LOGGING과 TRACE 관련 PARAMETER에 대한 Q & A
=================================================
PURPOSE
Net8을 이용하면서 발생하는 문제를 추적 하기위해 oracle의 configuration
file에 들어갈 수 있는 parameter와 logging과 tracing을 하는 방법에 대해
질의/응답을 통해 알아 보도록 한다.
Explanation
1) NET8에서 trace를 사용하는 이유와 어떤 component들에 trace를 할 수 있나?
Trace의 특징은 네트워크을 수행하게 될때 network event들을 기술한다
즉 trace와 관련된 일련의 문장들이 자세하게 생성된다.
"Tracing"의 운영으로 log파일에 제공되어 있는 것 보다 NET8의 component들의
내부적인 정보를 보다 많이 얻을 수 있다.
이러한 정보는 에러의 결과로 인하여 발생하는 동일한 event들로 파일들에
결과가 생성되어 이를 이용하여 문제의 원인을 판단할 수 있다.
주의 : trace의 기능을 이용하는 경우 충분한 disk space와 system performance의
현격한 저하를 가져올 수 있다 즉 trace의 기능은 반드시 필요할
경우에만 사용할 것을 권한다.
<< trace의 기능을 이용하여 trace를 할 수 있는 component들 >>
* Network listener
* Net8 components on the client and server
* Connection Manager
* Oracle Names Server
* Oracle Names Control Utility
* TNSPING utility
2) 어떤 parameter들을 설정하면 trace 기능을 이용할 수 있는가 ?
tracing을 하기 위해서는 특정 trace parameter들을 설정함으로써 가능하며
아래에 주어진 방법들과 또는 utility들중 하나를 선택하여 설정함으로써
사용할 수 있다.
* Component Configuration Files
* Component Control Utilities
* Oracle Trace
component의 configuration 파일을 이용하여 traceing parameter를 설정하려면
1.component의 configuration 파일에 다음의 traceing parameter를 설정한다.
- SQLNET.ORA for client or server, LISTENER.ORA for listener:
TRACE_LEVEL_<CLIENT/LISTENER/SERVER>=(0/4/10/16)
TRACE_DIRECTORY_<CLIENT/LISTENER/SERVER>=<directory name>
LOG_DIRECTORY_<CLIENT/LISTENER/SERVER>=<directory name>
2.만일 component들이 수행중인 동안 configuration 파일의 수정이 있었다면
병경된 parameter들을 사용하기 위해 component들을 다시 시작하여야 한다.
component control utility들을 이용하여 trace parameter들을 설정하려면
1. listener의 경우, Listener Control Utility(lsnrctl)에서 TRACE 명령어를
이용하여 listener가 수행중인 동안에도 trace level을 설정할 수 있다.
EX)
RC80:/mnt3/rctest80> lsnrctl
LSNRCTL for SVR4: Version 8.0.4.0.0 - Production on 01-SEP-98 15:16:52
(c) Copyright 1997 Oracle Corporation. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> trace admin
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
Opened trace file: /mnt4/coe/app/oracle/product/8.0.4/network/trace/
lsnr_coe.trc
The command completed successfully
LSNRCTL> trace off
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
The command completed successfully
LSNRCTL> exit
RC80:/mnt3/rctest80>
2. Oracle Names의 경우, Names Control Utility(namesctl)에서 TRACE_LEVEL
명령어를 이용하여 Oracle Names가 수행중인 동안에도 trace level을
설정할 수 있다.
주의 : Connection Manager의 경우, trace level은 configuration 파일인 CMAN.ORA
에서만 설정할 수 있다.
Oracle Enterprose manager(이하 OEM)에 있는 Oracle Trace는 trace parameter들을
설정하고 GUI를 통해 trace data의 형태를 볼수 있도록 하는 tracing tool이다.
3) trace된 data를 해석할 수 있는 다른 utility들이 있다면 ?
Trace Assistant를 사용하면 사용자의 *.trc 파일 (SQL*Net v2의 형식에 의해
생성된) 또는 *.txt (Orace Trace 과 TRCFMT에 의해 생성된 출력물)을 통해
trac된 정보를 해석할 수 있다.
이 유틸리티 네트워크의 문제들로 인해 발생하는 문제점들을 진단하고
해결하는 데 보다 많은 정보를 제공하여 사용자의 이해를 돕는다.
* the source and destination of trace files
* the flow of packets between network nodes
* which component of Net8 is failing
* pertinent error codes
다음에 주어진 명령어를 수행하므로써 Trace Assistant 실행할 수 있다.
trcasst [options] <filename>
Trace Assistant Text Formatting Options
-o Displays connectivity and Two Task Common (TTC) information.
After the -o the following options may be used:
c (for summary connectivity information)
d (for detailed connectivity information)
u (for summary TTC information)
t (for detailed TTC information)
q (displays SQL commands enhancing summary TTC information)
-p Oracle Internal Use Only
-s Displays statistical information
-e Enables display of error information After the -e, zero
or one error decoding level may follow:
0 or nothing : translates the NS error numbers dumped from the
nserror function plus lists all other errors
1 : displays only the NS error translation from the nserror function
2 : displays error numbers without translation
만일 option들이 제공되지 않는다면 기본적으로 -odt -e -s가 지정되어 자세한
connectivity, Two-Task Common, 에러 level 0 그리고 통계정보들이 tracing 된다.
4) SQL*Net v2 tracing과 어떻게 다른가 ?
Net8 tracing에서는 이전 버전인 SQL*NET V2에서 제공 되는 모든 option을
포함하고 있고 Oracle Trace의 기능이 추가되었다.
이것은 Oracle Trace Repository를 OEM 콘솔을 통하여 사용자의 trace 정보를
관리할 수 있도록 허용한다.
5) *.cdf와 *.dat은 어떤 파일 인가 ?
*.cdf 와 *.dat 파일들은 Oracle Trace에 의해 생성되는 파일들로서 이 파일들을
읽기 위해서는 반드시 trcfmt utility를 이용해야만 한다.
trcfmt는 binary (*.dat와 *.cdf의 확장자) 파일내에 있는 data를
일반 text(.txt의 확장자)로 정보를 추출한다. 이 tool을 사용하기 위해서는
다음의 명령어를 이용하면 된다.
trcfmt collection.cdf
주의 : .cdf와 .dat파일이 존재하는 디렉토리가 아닌 곳에서 이 tool을 이용
한다면 path가 포함되야 한다. 만일 하나의 .cdf 와 .dat 파일들내에
여러 프로세스들의 tracing정보가 수집된다면 그것들은 process_id.txt의
이름과 함께 파일이 추출될 것이다.
6) trac관련 configuration은 어떤 것이 있으며 설정할 수 있는 parameter는
무엇이 있는가 ?
==========================================================================
|| SQLNET.ORA Parameters ||
==========================================================================
DAEMON.TRACE_DIRECTORY
Purpose: Controls the destination directory of the Oracle
Enterprise Manager daemon trace file
Default Value: $ORACLE_HOME/network/trace
Description
Available Oracle Enterprise Manager Installation Guide
Example: DAEMON.TRACE_DIRECTORY=/oracle/traces
DAEMON.TRACE_LEVEL
Purpose: Turns tracing on/off to a certain specified level for
the Oracle Enterprise Manager daemon.
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Description
Available Oracle Enterprise Manager Installation Guide
Example: DAEMON.TRACE_LEVEL=10
DAEMON.TRACE_MASK
Purpose: Specifies that only the Oracle Enterprise Manager daemon
trace entries are logged into the trace file.
Default Value: $ORACLE_HOME/network/trace
Description
Available Oracle Enterprise Manager Installation Guide
Example: DAEMON.TRACE_MASK=(106)
LOG_DIRECTORY_CLIENT
Purpose: Controls the directory for where the log file is written
Default Value: Current directory where executable is started from.
Example: LOG_DIRECTORY_CLIENT=/oracle/network/trace
LOG_DIRECTORY_SERVER
Purpose: Controls the directory for where the log file is written
Default Value: Current directory where executable is started from.
Valid in File: SQLNET.ORA
Example: LOG_DIRECTORY_SERVER=/oracle/network/trace
LOG_FILE_CLIENT
Purpose: Controls the log output filename for an Oracle client.
Default Value: SQLNET.LOG
Example: LOG_FILE_CLIENT=client
LOG_FILE_SERVER
Purpose: Controls the log output filename for an Oracle server.
Default Value: SQLNET.LOG
Example: LOG_FILE_SERVER=svr
NAMESCTL.TRACE_LEVEL
Purpose: Indicates the level at which the NAMESCTL program should
be traced.
Default Value: OFF
Values: OFF, USER, or ADMIN
Example: NAMESCTL.TRACE_LEVEL=ADMIN
NAMESCTL.TRACE_FILE
Purpose: Indicates the file in which the NAMESCTL trace output is
placed.
Default Value: namesctl_PID.cdf and namesctl_PID.dat
Example: NAMESCTL.TRACE_FILE=NMSCTL
NAMESCTL.TRACE_DIRECTORY
Purpose: Indicates the directory where trace output from the NAMESCTL
utility is placed.
Default
Value: $ORACLE_HOME/network/trace
Example: NAMESCTL.TRACE_DIRECTORY=/ORACLE/TRACE
NAMESCTL.TRACE_UNIQUE
Indicates whether a process identifier is appended to the
Purpose: name of each trace file generated, so that several can
coexist.
Default
Value: OFF
Values: OFF or ON
Example: NAMESCTL.TRACE_UNIQUE = ON
TNSPING.TRACE_DIRECTORY
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TNSPING.TRACE_DIRECTORY=/oracle/traces
TNSPING.TRACE_LEVEL
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Example: TNSPING.TRACE_LEVEL=10
TRACE_DIRECTORY_CLIENT
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TRACE_DIRECTORY_CLIENT=/oracle/traces
TRACE_DIRECTORY_SERVER
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TRACE_DIRECTORY_SERVER=/oracle/traces
TRACE_FILE_CLIENT
Purpose: Controls the name of the client trace file
Default Value: SQLNET.CDF and SQLNET.DAT
Example: TRACE_FILE_CLIENT=cli
TRACE_FILE_SERVER
Purpose: Controls the name of the server trace file
Default Value: SVR_PID.CDF and SVR_PID.DAT
Example: TRACE_FILE_SERVER=svr
TRACE_LEVEL_CLIENT
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Example: TRACE_LEVEL_CLIENT=10
TRACE_LEVEL_SERVER
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Example: TRACE_LEVEL_SERVER=10
TRACE_UNIQUE_CLIENT
Used to make each client trace file have a unique name to
Purpose: prevent each trace file from being overwritten with the next
occurrence of the client. The PID is attached to the end of
the filename.
Default
Value: OFF
Example: TRACE_UNIQUE_CLIENT=ON
USE_CMAN
If the session is in an Enhanced Discovery Network with a
Purpose: Names Server, this parameter forces all sessions to go
through a Connection Manager to get to the server.
Default
Value: FALSE
Values: TRUE or FALSE
Example: USE_CMAN=TRUE
==========================================================================
|| LISTENER.ORA Parameters ||
==========================================================================
LOG_DIRECTORY_listener_name
Purpose: Controls the directory for where the log file is written
Default Value: Current directory where executable is started from.
Example: LOG_DIRECTORY_LISTENER=/oracle/traces
LOG_FILE_listener_name
Purpose: Specifies the filename where the log information is
written
Default Value: listener_name.log
Example: LOG_FILE_LISTENER=lsnr
TRACE_DIRECTORY_listener_name
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TRACE_DIRECTORY_LISTENER=/oracle/traces
TRACE_FILE_listener_name
Purpose: Controls the name of the listener trace file
Default Value: LISTENER_NAME.CDF and LISTENER_NAME.DAT
Example: TRACE_FILE_LISTENER=lsnr
TRACE_LEVEL_listener_name
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 - WorldWide Customer Support trace information
Example: TRACE_LEVEL_LISTENER=10
==========================================================================
|| NAMES.ORA Parameters ||
==========================================================================
NAMES.TRACE_DIRECTORY
Purpose: Indicates the name of the directory to which trace files
from a Names Server trace session are written.
Default
Value: platform specific
Example: names.trace_directory = complete_directory_name
NAMES.TRACE_FILE
Purpose: Indicates the name of the output file from a Names Server
trace session. The filename extension is always.trc
Default
Value: names
Example: names.trace_file = filename
NAMES.TRACE_LEVEL
Purpose: Indicates the level at which the Names Server is to be
traced.
Default Value: OFF
Example: names.trace_level = OFF
NAMES.TRACE_UNIQUE
indicates whether each trace file has a unique name, allowing
Purpose: multiple trace files to coexist. If the value is set to ON, a
process identifier is appended to the name of each trace file
generated.
Default
Value: OFF
Example: names.trace_unique = ON
names.trace_file = names_05.trc
==========================================================================
CMAN.ORA Parameters
==========================================================================
TRACING
Default
Value: NO
Example: TRACING = NO
References
7) listener.log 파일에 loggin정보를 남기지 않게 하는 방법이 있나요 ?
고객이 개발하여 사용중인 application에서 NET8을 이용하여 접속하거나 접속을
종료하는 경우 listener.log에 이와 관련된 정보가 남으며, 수 많흔 사용자가
접속을 하게되므로서 급속하게 listener.log 파일이 커져 file system이 꽉
차거나 데이터베이스가 hang이 되는 결과를 초래하는 경우가 있다.
고객들은 listener.log에 write할수 있는 메세지의 양에 제한을 두기를 원하는
경우가 있으나 이러한 기능은 제공되지 않는다. 하지만 listener의 logging은
on 또는 off를 할 수는 있다.
Net8에서는 listener.ora에 "LOGGING_(the listener name)=off"를 설정하게 되면
listener의 logging을 멈출 수 있다.
** SQL*NET 2.3.x 에서도 이 parameter가 유효한가요 ? **
물론 사용이 가능합니다. NET8에서 사용하는 것과 동일하게 parameter를
listener.ora에 설정함으로서 가능합니다.
EX)
LOGGING_LISTENER=OFF
이 parameter는 listener의 전체 logging을 disable하는 parameter로 일부만
여과하여 logging할 수 있는 기능은 아니다.
이 parameter는 NET8에 알려진 parameter로 SQL*NET 2.3.x manuals에 나와
있지는 않지만 정상적으로 사용할 수 있다.
Reference Ducumment
--------------------- -
NET8의 LOGGING AND TRACE관련 PARAMETER에 대한 Q & A
제품 : SQL*NET
작성날짜 : 1999-07-30
NET8의 LOGGING AND TRACE관련 PARAMETER에 대한 Q & A
==================================================
PURPOSE
NET8의 LOGGING AND TRACE관련 PARAMETER에 대해 알아 보도록한다
Explanation
1. NET8에서 trace를 왜 사용하고 어떤 component들에 trace를 할 수 있나요 ?
Trace의 특징은 네트워크을 수행하게 될때 network event들을 기술한다
즉 trace와 관련된 일련의 문장들이 자세하게 생성된다.
"Tracing"의 운영으로 log파일에 제공되어 있는 것 보다 NET8의 component들의
내부적인 정보를 보다 많이 얻을 수 있다.
이러한 정보는 에러의 결과로 인하여 발생하는 동일한 event들로 파일들에
결과가 생성되어 이를 이용하여 문제의 원인을 판단할 수 있다.
주의 : trace의 기능을 이용하는 경우 충분한 disk space와 system
performance의 현격한 저하를 가져올 수 있다.
즉 trace의 기능은 반드시 필요할 경우에만 사용할 것을 권한다.
Example
Reference Ducumment
<< trace의 기능을 이용하여 trace를 할수 있는 component들 >>
* Network listener
* Net8 components on the client and server
* Connection Manager
* Oracle Names Server
* Oracle Names Control Utility
* TNSPING utility
2. 어떤 parameter들을 설정하면 trace 기능을 이용할 수 있는가 ?
tracing을 하기 위해서는 특정 trace parameter들을 설정함으로써 가능하며
아래에 주어진 방법들과 또는 utility들중 하나를 선택하여 설정함으로써
사용할 수 있다.
* Component Configuration Files
* Component Control Utilities
* Oracle Trace
component의 configuration 파일을 이용하여 traceing parameter를 설정하려면
1) component의 configuration 파일에 다음의 traceing parameter를 설정한다.
- SQLNET.ORA for client or server, LISTENER.ORA for listener:
TRACE_LEVEL_<CLIENT/LISTENER/SERVER>=(0/4/10/16)
TRACE_DIRECTORY_<CLIENT/LISTENER/SERVER>=<directory name>
LOG_DIRECTORY_<CLIENT/LISTENER/SERVER>=<directory name>
2) 만일 component들이 수행중인 동안 configuration 파일의 수정이 있었다면
변경된 parameter들을 사용하기 위해 component들을 다시 시작하여야 한다.
component control utility들을 이용하여 trace parameter들을 설정하려면
1) listener의 경우, Listener Control Utility(lsnrctl)에서 TRACE 명령어를
이용하여 listener가 수행중인 동안에도 trace level을 설정할 수 있다.
EX)
RC80:/mnt3/rctest80> lsnrctl
LSNRCTL for SVR4: Version 8.0.4.0.0 - Production on 01-SEP-98 15:16:52
(c) Copyright 1997 Oracle Corporation. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> trace admin
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
Opened trace file: /mnt4/coe/app/oracle/product/8.0.4/network/trace/
lsnr_coe.trc
The command completed successfully
LSNRCTL> trace off
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
The command completed successfully
LSNRCTL> exit
RC80:/mnt3/rctest80>
2) Oracle Names의 경우, Names Control Utility(namesctl)에서 TRACE_LEVEL
명령어를 이용하여 Oracle Names가 수행중인 동안에도 trace level을
설정할 수 있다.
주의 : Connection Manager의 경우, trace level은 configuration 파일인
CMAN.ORA 에서만 설정할 수 있다.
Oracle Enterprose manager(이하 OEM)에 있는 Oracle Trace는 trace parameter
들을 설정하고 GUI를 통해 trace data의 형태를 볼수 있도록 하는 tracing tool
이다.
3. Trace된 data를 해석할 수 있는 다른 utility들이 있다면 ?
Trace Assistant를 사용하면 사용자의 *.trc 파일 (SQL*Net v2의 형식에 의해
생성된) 또는 *.txt (Orace Trace 과 TRCFMT에 의해 생성된 출력물)을 통해
trac된 정보를 해석할 수 있다.
이 유틸리티 네트워크의 문제들로 인해 발생하는 문제점들을 진단하고
해결하는 데 보다 많은 정보를 제공하여 사용자의 이해를 돕는다.
* the source and destination of trace files
* the flow of packets between network nodes
* which component of Net8 is failing
* pertinent error codes
다음에 주어진 명령어를 수행하므로써 Trace Assistant 실행할 수 있다.
trcasst [options] <filename>
Trace Assistant Text Formatting Options
-o Displays connectivity and Two Task Common (TTC) information.
After the -o the following options may be used:
c (for summary connectivity information)
d (for detailed connectivity information)
u (for summary TTC information)
t (for detailed TTC information)
q (displays SQL commands enhancing summary TTC
information)
-p Oracle Internal Use Only
-s Displays statistical information
-e Enables display of error information After the -e, zero
or one error decoding level may follow:
0 or nothing (translates the NS error numbers dumped
from the nserror function plus lists all
other errors)
1 (displays only the NS error translation from
the nserror function)
2 (displays error numbers without translation)
만일 option들이 제공되지 않는다면 기본적으로 -odt -e -s가 지정되어 자세한
connectivity, Two-Task Common, 에러 level 0 그리고 통계정보들이 tracing
된다.
4. SQL*Net v2 tracing과 어떻게 다른가 ?
Net8 tracing에서는 이전 버전인 SQL*NET V2에서 제공 되는 모든 option을
포함하고 있고 Oracle Trace의 기능이 추가되었다.
이것은 Oracle Trace Repository를 OEM 콘솔을 통하여 사용자의 trace 정보를
관리할 수 있도록 허용한다.
5. *.cdf와 *.dat은 어떤 파일 인가 ?
*.cdf 와 *.dat 파일들은 Oracle Trace에 의해 생성되는 파일들로서 이 파일들을
읽기 위해서는 반드시 trcfmt utility를 이용해야만 한다.
trcfmt는 binary (*.dat와 *.cdf의 확장자) 파일내에 있는 data를 일반text
(.txt의 확장자)로 정보를 추출한다. 이 tool을 사용하기 위해서는 다음의
명령어를 이용하면 된다.
$ trcfmt collection.cdf
주의 : .cdf와 .dat파일이 존재하는 디렉토리가 아닌 곳에서 이 tool을 이용
한다면 path가 포함되야 한다. 만일 하나의 .cdf 와 .dat 파일들내에
여러 프로세스들의 traceing정보가 수집된다면 그것들은 process_id.txt
의 이름과 함께 파일이 추출될 것이다.
6. trac관련 configuration은 어떤 것이 있으며 설정할 수 있는 parameter는
무엇이 있는가 ?
==========================================================================
|| SQLNET.ORA Parameters ||
==========================================================================
DAEMON.TRACE_DIRECTORY
Purpose: Controls the destination directory of the Oracle
Enterprise Manager daemon trace file
Default Value: $ORACLE_HOME/network/trace
Description
Available Oracle Enterprise Manager Installation Guide
Example: DAEMON.TRACE_DIRECTORY=/oracle/traces
DAEMON.TRACE_LEVEL
Purpose: Turns tracing on/off to a certain specified level for
the Oracle Enterprise Manager daemon.
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Description
Available Oracle Enterprise Manager Installation Guide
Example: DAEMON.TRACE_LEVEL=10
DAEMON.TRACE_MASK
Purpose: Specifies that only the Oracle Enterprise Manager daemon
trace entries are logged into the trace file.
Default Value: $ORACLE_HOME/network/trace
Description
Available Oracle Enterprise Manager Installation Guide
Example: DAEMON.TRACE_MASK=(106)
LOG_DIRECTORY_CLIENT
Purpose: Controls the directory for where the log file is written
Default Value: Current directory where executable is started from.
Example: LOG_DIRECTORY_CLIENT=/oracle/network/trace
LOG_DIRECTORY_SERVER
Purpose: Controls the directory for where the log file is written
Default Value: Current directory where executable is started from.
Valid in File: SQLNET.ORA
Example: LOG_DIRECTORY_SERVER=/oracle/network/trace
LOG_FILE_CLIENT
Purpose: Controls the log output filename for an Oracle client.
Default Value: SQLNET.LOG
Example: LOG_FILE_CLIENT=client
LOG_FILE_SERVER
Purpose: Controls the log output filename for an Oracle server.
Default Value: SQLNET.LOG
Example: LOG_FILE_SERVER=svr
NAMESCTL.TRACE_LEVEL
Purpose: Indicates the level at which the NAMESCTL program should
be traced.
Default Value: OFF
Values: OFF, USER, or ADMIN
Example: NAMESCTL.TRACE_LEVEL=ADMIN
NAMESCTL.TRACE_FILE
Purpose: Indicates the file in which the NAMESCTL trace output is
placed.
Default Value: namesctl_PID.cdf and namesctl_PID.dat
Example: NAMESCTL.TRACE_FILE=NMSCTL
NAMESCTL.TRACE_DIRECTORY
Purpose: Indicates the directory where trace output from the NAMESCTL
utility is placed.
Default
Value: $ORACLE_HOME/network/trace
Example: NAMESCTL.TRACE_DIRECTORY=/ORACLE/TRACE
NAMESCTL.TRACE_UNIQUE
Indicates whether a process identifier is appended to the
Purpose: name of each trace file generated, so that several can
coexist.
Default
Value: OFF
Values: OFF or ON
Example: NAMESCTL.TRACE_UNIQUE = ON
TNSPING.TRACE_DIRECTORY
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TNSPING.TRACE_DIRECTORY=/oracle/traces
TNSPING.TRACE_LEVEL
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Example: TNSPING.TRACE_LEVEL=10
TRACE_DIRECTORY_CLIENT
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TRACE_DIRECTORY_CLIENT=/oracle/traces
TRACE_DIRECTORY_SERVER
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TRACE_DIRECTORY_SERVER=/oracle/traces
TRACE_FILE_CLIENT
Purpose: Controls the name of the client trace file
Default Value: SQLNET.CDF and SQLNET.DAT
Example: TRACE_FILE_CLIENT=cli
TRACE_FILE_SERVER
Purpose: Controls the name of the server trace file
Default Value: SVR_PID.CDF and SVR_PID.DAT
Example: TRACE_FILE_SERVER=svr
TRACE_LEVEL_CLIENT
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Example: TRACE_LEVEL_CLIENT=10
TRACE_LEVEL_SERVER
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 or SUPPORT - WorldWide Customer Support trace
information
Example: TRACE_LEVEL_SERVER=10
TRACE_UNIQUE_CLIENT
Used to make each client trace file have a unique name to
Purpose: prevent each trace file from being overwritten with the next
occurrence of the client. The PID is attached to the end of
the filename.
Default
Value: OFF
Example: TRACE_UNIQUE_CLIENT=ON
USE_CMAN
If the session is in an Enhanced Discovery Network with a
Purpose: Names Server, this parameter forces all sessions to go
through a Connection Manager to get to the server.
Default
Value: FALSE
Values: TRUE or FALSE
Example: USE_CMAN=TRUE
==========================================================================
|| LISTENER.ORA Parameters ||
==========================================================================
LOG_DIRECTORY_listener_name
Purpose: Controls the directory for where the log file is written
Default Value: Current directory where executable is started from.
Example: LOG_DIRECTORY_LISTENER=/oracle/traces
LOG_FILE_listener_name
Purpose: Specifies the filename where the log information is
written
Default Value: listener_name.log
Example: LOG_FILE_LISTENER=lsnr
TRACE_DIRECTORY_listener_name
Purpose: Control the destination directory of the trace file
Default Value: $ORACLE_HOME/network/trace
Example: TRACE_DIRECTORY_LISTENER=/oracle/traces
TRACE_FILE_listener_name
Purpose: Controls the name of the listener trace file
Default Value: LISTENER_NAME.CDF and LISTENER_NAME.DAT
Example: TRACE_FILE_LISTENER=lsnr
TRACE_LEVEL_listener_name
Purpose: Turns tracing on/off to a certain specified level
Default Value: 0 or OFF
* 0 or OFF - No trace output
* 4 or USER - User trace information
Available Values
* 10 or ADMIN - Administration trace information
* 16 - WorldWide Customer Support trace information
Example: TRACE_LEVEL_LISTENER=10
==========================================================================
|| NAMES.ORA Parameters ||
==========================================================================
NAMES.TRACE_DIRECTORY
Purpose: Indicates the name of the directory to which trace files
from a Names Server trace session are written.
Default
Value: platform specific
Example: names.trace_directory = complete_directory_name
NAMES.TRACE_FILE
Purpose: Indicates the name of the output file from a Names Server
trace session. The filename extension is always.trc
Default
Value: names
Example: names.trace_file = filename
NAMES.TRACE_LEVEL
Purpose: Indicates the level at which the Names Server is to be
traced.
Default Value: OFF
Example: names.trace_level = OFF
NAMES.TRACE_UNIQUE
indicates whether each trace file has a unique name, allowing
Purpose: multiple trace files to coexist. If the value is set to ON, a
process identifier is appended to the name of each trace file
generated.
Default
Value: OFF
Example: names.trace_unique = ON
names.trace_file = names_05.trc
==========================================================================
CMAN.ORA Parameters
==========================================================================
TRACING
Default
Value: NO
Example: TRACING = NO
References
7. listener.log 파일에 loggin정보를 남기지 않게 하는 방법이 있나요 ?
고객이 개발하여 사용중인 application에서 NET8을 이용하여 접속하거나 접속을
종료하는 경우 listener.log에 이와 관련된 정보가 남으며, 수 많은 사용자가
접속을 하게 되므로서 급속하게 listener.log 파일이 커져 $ORACLE_HOME이 있는
file system이 꽉 차서 데이터베이스가 hang이 되는 결과를 초래하는 경우가 있다.
고객들은 listener.log에 write할수 있는 메세지의 양에 제한을 두기를 원하는
경우가 있으나 이러한 기능은 제공되지 않는다. 하지만 listener의 logging은
ON 또는 OFF는 설정을 통해서 가능하다.
Net8에서는 listener.ora에 "LOGGING_(the listener name)=off"를 설정하게
되면 listener의 logging을 멈출 수 있다.
물론 설정후 listener stop후 재기동을 하셔야 변경된 paramerter에 의해
이 기능이 enable됩니다.
참고 : SQL*NET 2.3.x 에서도 이 parameter가 유효한가요 ?
물론 사용이 가능합니다. NET8에서 사용하는 것과 동일하게 parameter를
listener.ora에 설정함으로서 가능합니다.
EX)
LOGGING_LISTENER=OFF
이 parameter는 listener의 전체 logging을 disable하는 parameter로 일부만
여과하여 logging할 수 있는 기능은 아니다.
이 parameter는 NET8에 알려진 parameter로 SQL*NET 2.3.x manuals에 나와
있지는 않지만 정상적으로 사용할 수 있다. -
hi, first of all sorry if my post is in wrong forum...but my application is done using swing so i am posting this here....and regarding my question...
I have made an GUI using Java swings and my application is working fine. Now i want to make an executable jar file for my GUI. I have read some tutorilas on making jar files and this is what i have done...
i have created a manifest file called mainClass.txt which has
Main-Class: MainWindow ,where MainWindow is my main class name.
Then i ran the jar utility with this command line:
jar cmf mainClass.txt example.jar *.class
With this line, I told jar to create a JAR file (option c) with modifications to the manifest file (option m) as specified within mainClass.txt, naming the JAR file (option f) as example.jar and including everything that matches the pattern *Class
everything is file till now but my problem is ...I have some library files from JFreechart software included in my GUI to generate barcharts..How can i include these library files in my example.jar file..
Kindly help me
Thanks
byeeI had this problem too. I ran my program out of JCreator and it worked flawlessly. I jarred it up into and Executable Jar and I would get a runtime error explaning I have not included the correct libraries.
What I did was look at the error, for example say it said something like:
org.uhoh.PathSys ClassDefNotFound (or something similar to this)
What I did was extract the library that contained that class file. Then in my project file where I kept my classes I made the folder org, then in org I made uhoh. Inside uhoh I copied over PathSys.class.
I hope I addressed the problem you speak of. I am only a novice but this is how I figured it out. If anyone knows a better way let us know =D -
How to create and use library JAR files with command-line tools?
Development Tools -> General Questions:
I am trying to figure out how to put utility classes into JAR files and then compile and run applications against those JAR files using the command-line javac, jar, and java tools. I am using jdk1.7.0_17 on Debian GNU/Linux 6.0.7.
I have posted a simple example with one utility class, one console application class, and a Makefile:
http://holgerdanske.com/users/dpchrist/java/examples/jar-20130520-2134.tar.gz
Here is a console session:
2013-05-20 21:39:01 dpchrist@desktop ~/sandbox/java/jar
$ cat src/com/example/util/Hello.java
package com.example.util;
public class Hello {
public static void hello(String arg) {
System.out.println("hello, " + arg);
2013-05-20 21:39:12 dpchrist@desktop ~/sandbox/java/jar
$ cat src/com/example/hello/HelloConsole.java
package com.example.hello;
import static com.example.util.Hello.hello;
public class HelloConsole {
public static void main(String [] args) {
hello("world!");
2013-05-20 21:39:21 dpchrist@desktop ~/sandbox/java/jar
$ make
rm -f hello
find . -name '*.class' -delete
javac src/com/example/util/Hello.java
javac -cp src src/com/example/hello/HelloConsole.java
echo "java -cp src com.example.hello.HelloConsole" > hello
chmod +x hello
2013-05-20 21:39:28 dpchrist@desktop ~/sandbox/java/jar
$ ./hello
hello, world!I believe I am looking for:
1. Command-line invocation of "jar" to put the utility class bytecode file (Hello.class) into a JAR?
2. Command-line invocation of "javac" to compile the application (HelloConsole.java) against the JAR file?
3. Command-line invocation of "java" to run the application (HelloConsole.class) against the JAR file?
I already know how t compile the utility class file.
Any suggestions?
TIA,
DavidI finally figured it out:
1. All name spaces must match -- identifiers, packages, file system, JAR contents, etc..
2. Tools must be invoked from specific working directories with specific option arguments, all according to the project name space.
My key discovery was that if the code says
import com.example.util.Hello;then the JAR must contain
com/example/util/Hello.classand I must invoke the compiler and interpreter with an -classpath argument that is the full path to the JAR file
-classpath ext/com/example/util.jarThe code is here:
http://holgerdanske.com/users/dpchrist/java/examples/jar-20130525-1301.tar.gz
Here is a console session that demonstrates building and running the code two ways:
1. Compiling the utility class into bytecode, compiling the application class against the utility bytecode, and running the application bytecode against the utility bytecode.
2. Putting the (previously compiled) utility bytecode into a JAR and running the application bytecode against the JAR. (Note that recompiling the application against the JAR was unnecessary.)
(If you don't know Make, understand that the working directory is reset to the initial working directory prior to each and every command issued by Make):
2013-05-25 14:02:47 dpchrist@desktop ~/sandbox/java/jar
$ cat apps/com/example/hello/Console.java
package com.example.hello;
import com.example.util.Hello;
public class Console {
public static void main(String [] args) {
Hello.hello("world!");
2013-05-25 14:02:55 dpchrist@desktop ~/sandbox/java/jar
$ cat libs/com/example/util/Hello.java
package com.example.util;
public class Hello {
public static void hello(String arg) {
System.out.println("hello, " + arg);
2013-05-25 14:03:03 dpchrist@desktop ~/sandbox/java/jar
$ make
rm -rf bin ext obj
mkdir obj
cd libs; javac -d ../obj com/example/util/Hello.java
mkdir bin
cd apps; javac -d ../bin -cp ../obj com/example/hello/Console.java
cd bin; java -cp .:../obj com.example.hello.Console
hello, world!
mkdir -p ext/com/example
cd obj; jar cvf ../ext/com/example/util.jar com/example/util/Hello.class
added manifest
adding: com/example/util/Hello.class(in = 566) (out= 357)(deflated 36%)
cd bin; java -cp .:../ext/com/example/util.jar com.example.hello.Console
hello, world!
2013-05-25 14:03:11 dpchrist@desktop ~/sandbox/java/jar
$ tree -I CVS .
|-- Makefile
|-- apps
| `-- com
| `-- example
| `-- hello
| `-- Console.java
|-- bin
| `-- com
| `-- example
| `-- hello
| `-- Console.class
|-- ext
| `-- com
| `-- example
| `-- util.jar
|-- libs
| `-- com
| `-- example
| `-- util
| `-- Hello.java
`-- obj
`-- com
`-- example
`-- util
`-- Hello.class
19 directories, 6 filesHTH,
David -
Extract JAR file to a different directory
Is it possible to use the jar command to extract the content of a JAR file to a different directory (not the current directory)?
I want to use this command inside a makefile, looking for the same effect as "unzip example.jar -d directory".
Thanks in advanced.Thanks Chuck, you solved my doubt... It surprises me that JAR doesn't support this option.
I used the "unzip" command inside the makefile instead, but I wanted to be sure that there wasn't any chance to use "jar" (without using the additional script file). -
How do you know the version of a JAR file ?
how do you know the version of a JAR file ?
is it what is written on MANIFEST.MF ?
for example i have a JAR file
whose MANIFEST.MF has this
Manifest-Version: 1.0
Created-By: Ant 1.4.1so, whats the version of this JAR ? 1.0 ?anyway, that was JSTL..jar.
Now, come to another JAR file....
whose MANIFEST.MF has......
Manifest-Version: 1.0
Created-By: Apache Ant 1.5.1
Extension-Name: Struts Framework
Specification-Title: Struts Framework
Specification-Vendor: Apache Software Foundation
Specification-Version: 1.1
Implementation-Title: Struts Framework
Implementation-Vendor: Apache Software Foundation
Implementation-Vendor-Id: org.apache
Implementation-Version: 1.1
Class-Path: commons-beanutils.jar commons-collections.jar commons-dig
ester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar s
truts-legacy.jarso, How do you believe whats the version now ? do u go with the comment "Manifest-Version: 1.0" or "Specification-Version: 1.1" ?
definitely, you would go with the "Specification-Version: 1.1" and declare this JAR as STRUTS 1.1
hmmm, so, if nothing is mentioned like above should we follow the MANIFEST version as the JSTL version ? in my earlier example i did not find any comment on ""Specification-Version" ......so , if anybody gives me that JAR , how do i decide whether its 1.0 specification or 1.1 specifucation compliant ?
can you tell whats the JSTL version of my earler example JAR file ? -
Java to jar, with mainClass (something's wrong)
Hi. I know, there were some topics, about the java to jar issue, but I think this is different a bit...
so the question is: I'm trying to make a .jar from my jave file, and I've found a tutorial for it on the net (and as far as I remember, I've used this tutorial before, and it helped)
it says, I have to use this command:
"jar cmf mainClass.txt example.jar *.class"
I have a proper mainClass.txt, but when I try to run this command, I get this error message
"*.class: no such file or directory"
what am I doing wrong?
Thx for any help.Hi there,
As per the documentation you are trying to:
jar - The basic command
c - Create a new jar file
m - With a manifest entry
f - With the specific archive name
mainClass.txt - Name of the manifest file
example.jar - Name of the jar file you are creating
*.class - Jar up all of the class files that exist in this directory
So basically you have no class files in hte directory you are running this command from.
Also you'll probably want to run the command like so:
jar cmf example.jar mainClass.txt *.class - You'd typically have the name of the manifest file 2nd
Cheers,
Martijn -
Problem in include library files into my jar file
i am new to this jar archiving...I have created a GUI with java swings..and i also use mysql driver to connect my database now i want to make an executable jar file for my GUI..with coonector i have done the following
I have compiled my program and placed all the .java and .class files in
c:\ java\ bin\ jarexample
next i created a manifest file called mainClass.txt which contains
Main-Class: AppletMain (where AppletMain is my mainclass).. I placed this txt file also in c:\ java\ bin\ jarexample
i m also set Class-path in manifest file Class-Path: mysql-connector-java-3.1.10-bin.jar
next i ran jar cmf mainClass.txt example.jar *.class mysql-connector-java-3.1.10-bin
With this line, I told jar to create a JAR file (option c) with modifications to the manifest file (option m) as specified within mainClass.txt, naming the JAR file (option f) as example.jar and including everything that matches the pattern *Class and mysql connector
now my problem is ...my MYSQL connection need some Library files from a package called org and class Driver.class to generate connection I include this library files also in my example.jar....
But when i execute this jar file using :java -jar example.jar
this is executed BCOZ tha example.jar file use mysql-connector-java-3.1.10-bin.jar file from system.
If i m this mysql-connector-java-3.1.10-bin.jar file from system from system then it is not run.
Can anyone please tell me how can i include this library file to my jar file( ie example.jar)
ThankyouDouble post. Please post replies on the other thread.
http://forum.java.sun.com/thread.jspa?threadID=656781&tstart=0 -
WLS does not handle reusable jar with tag-files?
I want to encapsulate some tag-files in a re-usable jar that can be included in multiple applications. According to all the documentation that I've found what I need to do is create a jar file containing:
META-INF/taglib.tld
META-INF/tags/myTag.tag
where the taglib.tld contains (among other things):
<uri>myTag</uri>
<tag-file>
<name>someName</name>
<path>META-INF/tags/myTag.tag</path>
</tag-file>
Then I am supposed to take that jar file and put it in my web application under WEB-INF/lib,
and in my index.jsp I can refer to <%@taglib prefix="myt" uri="myTag">
However when I do this (on wls 12c) the application seems to deploy ok but when I try to access index.jsp I get:
weblogic.servlet.jsp.CompilationException: Failed to compile JSP /index.jsp
index.jsp:14:4: No tag library could be found with this URI. Possible causes could be that the URI is incorrect, or that there were errors during parsing of the .tld file.
<%@taglib prefix="tags" uri="myt" %>
Related facts:
1. When I deploy these projects in Glassfish it works . as I expected based on the documentation with no errors.
2. If I copy the tag files and tld with no modification directly into the web application as:
<my web app>/WEB-INF/taglib.tld
and <my web app>/META-INF/tags/myTag.tag
then it does work. However, that prevents me from packaging the tag-files as a re-usable jar.
(Facts 1 & 2 seem to imply that the files are correct and that WebLogic is not handling the jar correctly?)
3. I've seen suggestions that there needs to be a <taglib> entry in web.xml. I have tried this and...
- the text I've seen on the web generates an error. It seems to need to be within a <jsp-config> entry in web.xml.
- even with this I still get the same error.
Does anyone have a suggestion for how to get Weblogic to handle tag-files inside a re-usable jar?
Do you have an example jar you can point me to just to see that it works on my system?
Is there some special configuration needed by Weblogic to tell it to handle this construct?
And finally, the error message is saying that one of two things is wrong:
Either:
A) it cannot find the referenced taglib file, or
B) the tld file failed to compile.
Is there any way for me to find out which of these is happening? The error messages in WLS do not seem to give any more info, so I cannot easily distinguish between these possibilities.
Thanks for your assistance.After 3 days of seeing this error, immediately after posting this request the problem disappeared. Sigh.
So for now this problem is closed. If it comes back I'll re-post. -
Error while Executing Jar File
i created three java files.
One.java
Two.java
Three.java
after that i comiled three files.
i want to compree these files into a jar file.after that i have to execute the jar file.
for that i created a manifest file called mainClass.txt
step1: javac *.java
stpe2: jar cf example.jar
step3:i created a mainfest called mainClass.txt in that i mentioned name of the class that contains main method .
in the above Three.java having main().
Main-Class:Three
and i saved .(only ons statement in the manifest file)
step 4: I then run the jar utility with the following command
jar cmf mainClass.txt example.jar *.class
but i am getting the following Error.
please help me.
java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Attributes.java:387)
at java.util.jar.Manifest.read(Manifest.java:167)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.run(Main.java:124)
at sun.tools.jar.Main.main(Main.java:904)hi guys
i created three java files.
One.java
Two.java
Three.java
after that i comiled three files.
i want to compree these files into a jar file.after that i have to execute the jar file.
for that i created a manifest file called mainClass.txt
step1: javac *.java
stpe2: jar cf example.jar
step3:i created a mainfest called mainClass.txt in that i mentioned name of the class that contains main method .
in the above Three.java having main().
Main-Class:Three
and i saved .(only ons statement in the manifest file)
step 4: I then run the jar utility with the following command
jar cmf mainClass.txt example.jar *.class
but i am getting the following Error.
java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Attributes.java:387)
at java.util.jar.Manifest.read(Manifest.java:167)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.run(Main.java:124)
at sun.tools.jar.Main.main(Main.java:904)
Thnks in Advance.
Maybe you are looking for
-
Is it bent!? Am I too blind to see it?!
Hi, I recently got a 6. Great device, great upgrade from a 4S with iOS8. Apps load instantly, it's big, it's a nice phone... except for the bending issue. Over the past month I've read a lot about the bend-gate, seen lots of reports. Some of them jus
-
Hi, In our IC webclient, when we enter a business partner, if nothing is entered in the address fields it creates ok but when we come back to change the partner again, the address fields are output only, so we can't enter anything in them. If we do e
-
Can not find solaris 64 9.0.1.5 patch for repository installation
Hi, I found in oracle10gAS installation guide that I need to apply patch 9.0.1.5 or later in order to use an existing oracle 9 database for my repository. The problem is that I can not find oracle db 9.0.1.5 patch for solaris 64bit. The latest patch
-
Adobe connect service not installed after setup.
Hi I have been trying to install adobe connect 9.2.1 on Win 2k12 server. I have tried the install process several times logged in on a domain admin account and logging in as a local admin. I follow the install wizard and fill out the connection det
-
Hi, I have the job to change all old sapscript orders to be printed with co01/02/03 from DIN A4 to DIN A5 and decided to recreate them in smartforms now. The boxes and stuff were created dynamically and to change that big forms and printprograms in s