Websphere 8.5: Application is not installed inside "installedApps" directory - java

I am new to WebSphere. Had installed the Websphere 8.5 server with single profile. And also installed JDK7 and enabled(Because, Websphere 8.5 comes with JDK6 by default). Finally, installed the application. But installed application is not getting updated in 'installedApps' directory.
By default, the application should be installed in below path.(I didnt override)
C:\WebSphere85\AppServer\profiles\AppSrv01\installedApps\VW7MSPTCSPQADKNode01Cel
But, application installed in
C:\WebSphere85\AppServer\profiles\AppSrv01
Dont know where it overrided this path. Please help on this.
Thanks in advance.

That location is defined by a server variable called APP_INSTALL_ROOT. It should be defined in a variables.xml file in either the cell or node scope - for example, in profiles/AppSrv01/config/cells/VW7MSPTCSPQADKNode01Cel/nodes/VW7MSPTCSPQADKNode01. You should be able to edit that variable definition through the administrative console.
The location you said you actually wanted is the default, so it apparently was overridden at some point; it's hard to know how that might have happened after the fact, though.

If .ear or .war file was installed manually via WAS Admin's Console after all installation steps, user will be presented with screen to confirm successful installation. There are few active buttons at the bottom something like "Save", "Cancel" and "Manage Applications". If user clicks "Manage Applications" he will be redirected to page where app can be started/paused/deleted and app files will be stored under
C:\IBM\WAS\Profiles\customWas85\wstemp\0\workspace\cells\USERNAMENode01Cell\applications\app.ear\app.ear
If user selects "Save" in above mentioned page, installed app files will be transferred to
C:\IBM\WAS\Profiles\customWas85\installedApps\USERNAMENode01Cell\app.ear
I would assume first approach uses some temp workspace folder "wstemp", second approach uses directory defined in "WebSphere Variables" as APP_INSTALL_ROOT.
This is confirmation for my observations
Uploading your application
The install process begins by first uploading your application file (EAR) to a temp directory. If you are using the administrative console to install your application, wstemp is used as the temporary working directory. For example:
profile_root/wstemp/0/upload/app_name.ear
Processing installation options
After your application file has been uploaded, the installation options are read in, processed, and written to your installedApps directory:
profile_root/installedApps
Saving deployment metadata
At this point, the install process stores the EAR file in the following directory:
profile_root/config/cells/cell_name/applications/app_name.ear/

Related

Derby embedded executable jar suddenly read only [duplicate]

I am developing desktop database application. Using rdlc report and reportviewer. Everything was fine in developing process, reportviewer was showing all data smoothly. I deploy app with Inno Setup. But when I install the app, the reportviewer is not showing data. While data is correctly inserted in the tables.
For applications that work incorrectly or fail completely, when installed by Inno Setup to Program Files folder, the first thing to test, is to try to deploy the application manually to the same folder.
If the application fails even after a manual deployment, the most usual problem is that the application requires a user to have write permissions to application folder. As on modern versions of Windows a user typically does not have write permissions to the Program Files folder, the application does not work. So the problem usually has nothing to do with Inno Setup, but it's a problem of the application itself.
To solve the problem:
The best solution is to redesign the application so that it does not require write permissions to its folder. Windows applications should not require write permissions to their folder. That's against Windows guidelines. The application should write data to a user profile folder (C:\Users\username\AppData) or to a common data folder (C:\ProgramData).
A dirty workaround is have the installer grant a user(s) write permissions to the installation folder. Do that only, if you cannot get the application fixed (e.g. it's 3rd party application).
See Inno Setup - How to set permissions of installation folder.
Even more gross workaround is to configure the application to be executed with elevated (Administrator) privileges.
See Inno Setup desktop shortcut (link) which has "Run as administrator" advanced property set
or How to set 'Run as administrator' on a file using Inno Setup.
Another solution is enabling legacy compatibility mode that makes Windows redirect all application write attempts to a virtual store. See also Application installed with Inno Setup writes files to unknown location instead of its installation folder.
There are numerous other possible reasons, why the application might be failing when installed, including:
You omitted some dependency:
DLL library
.NET assembly
.NET Framework
Java Runtime Environment
other runtime
COM/ActiveX object, etc.
The application requires some configuration:
a file
a registry key [including COM/ActiveX object registration]
an environment variable, etc.
The application is not designed to be executed from a folder that has a space in its name (Program Files).
The application gets confused by Windows File virtualization (though it's unlikely). See Application installed with Inno Setup writes files to unknown location instead of its installation folder.

Tomcat 7 web configuration

We have tomcat 7.0.55 in our unix server. We have deployed web applications manually inside webapps folder of tomcat instance. By default the clusterinfo.1200.properties and log4j logs are stored in .businessobjects folder under home directory of the user account in which tomcat runs.
While accessing the InfoView web application we get the below error,
"AccessControlException:"java.io.filePermission:Access Denied \home\<user account of tomcat>\.businessobjects\clusterinfo.properties"
Tomcat 7 has restriction to access the file outside the tomcat directory on the first logon. However on refreshing the page we are able to access the application.
I have tried the following steps.
stopped the tomcat instance
Moved .buisnessobjects from home directory to inside tomcat installed directory.
Created symlink as .businessobjects in home directory to point to the folder inside tomcat directory.
Started the tomcat instance.
It works. But I need to know where the configuration change has to be made in web application to place the clusterinfo property file and log4j file inside tomcat directory.
I am a novice in Java. Please let me know the file and its location to make this changes.
Desperately looking for a solution :-(
Did you try to grant more permissions on this file with chmod.
The exception explicitly says that its java.io.filePermission. So the problem is that jvm can't read your properties file because your OS prevents it from doing so based on the file permissions.
You can see file permissions with ls -l filepath.
I vaguely remember that you had to change owner of the accesed files in order for tomcat to work so chown tomcat7 \home\<user account of tomcat>\.businessobjects\clusterinfo.properties wouldn't hurt, but I don't remember if it was only applicable to deployed artifacts like *.war files or such.

Unable to open "Tomcat web application manager"

I am new to java web programming and eclipse-apache Tomcat. I have small login web-application which includes (one jsp page , one servlet class).
I want to configure/deploy this application on apache web application manager. I mean I don't want to run this application in eclipse. I hope you understand my point.
Whenever I run my server in eclipse it run successfully. But when I want to open apache default page by typing http://localhost:8080 or http://localhost:8080 to configure my app It wouldn't open.
Please advice me.
To deploy a web application on Tomcat, you need to first compile your web application into a WAR file. Then, take that WAR file (let's assume it's called "MyApp.WAR") and put that into the tomcat/webapps directory. Restart the tomcat service. Tomcat will extract that WAR to a folder in the webapps directory. After that, any request to localhost:8080/MyApp will go to your webapp.
Make sure you have java installed, and add JAVA_HOME to your environment variable. (it is the path to java installation directory for e.g. C:\Program Files\java\jdk-1.6)
i.e
JAVA_HOME=C:\Program Files\java\jdk-1.6
install TOMCAT from here "http://tomcat.apache.org/download-70.cgi"
make sure you do not install it in you "c:\program files" due to some permission issues.
Lets say you installed tomcat at "c:\webserver\apache-tomcat\" this is your CATALINA_HOME, add it to your environment variable
i.e CATALINA_HOME=c:\webserver\apache-tomcat\
to acess tomcat webapp manager you need to configure user in %CATALINA_HOME%\conf\tomcat-users.xml
Add a role and a user :
Have your WAR file ready with you (this is how you create WAR "How to make war file in Eclipse")
move your WAR file to "%CATALINA_HOME%\webapp" directory. lets say "TestWeb.WAR" is your application with index.jsp page in it.
Now go to your %CALALINA_HOME%\bin and launch the startup.bat file (you would be using startup.bat to start and shutdown.bat to stop tomcat)
once tomcat is up and running check http://localhost:8080 is working fine.
P.S. If port 80 is already in use then try configuring your tomcat to some other unused PORT here "http://www.mkyong.com/tomcat/how-to-change-tomcat-default-port/"
go to your browser type http://localhost:8080/TestWeb/index.jsp
now you can to lot of configuration to your web app like having a default page and all
Hope this help you !
Normally eclipse uses Tomcat as an eclipse project, hence it uses metadata.
Server > Double click on the tomcat server instance > Server Location > Select "Use Tomcat installation"
Update: Tested just now. Set Deploy path to webapps folder. Works fine :)

Location of localhost folder in Ubuntu 12.04

I'm running eclipse Juno, with Tomcat 7.0.29. I have some files that are saved to the root of the webapp by my webapp and I want to delete them. I'm trying to find the localhost folder in order to be able to do this. Everything I'm reading tells me it should be at /var/www, however there is not /www directory in var. Where could it be?
Since you're using Eclipse IDE and you don't know where your Tomcat installation folder is, you can find it using the IDE by going to Windows/Preferences. It will pop a Preferences window, select the Server/Runtime Environment option in the left tree, in the right side must appear Apache Tomcat v7.x. Select it from the list and select the Edit... option, it will show you the tomcat installation directory. Let's call this folder <tomcat>
Now you know the folder installation, but maybe Eclipse is not using it to deploy the Java Web applications. To make sure of this, in your Eclipse, go to the Servers view (if it's not visible in the IDE, go to Window/Show view/Servers), it will show you your tomcat server (and others), double click on it. In the Tomcat overview window, check the Server locations panel, expand it and check where the webapp is deployed:
If selected option is Use Tomcat installation then the web app must be in <tomcat>webapps
If selected option is Use workspace metadata then the web app must be in your workspace inside .metadata/.plugins/org.eclipse.wst.server.core/tmp[number]/wtpwebapps (thanks to Lars Vogel blog post). This is a special folder created by Eclipse.
Default tomcat folder is at /var/lib/tomcat7. Your webapps are under /var/lib/tomcat7/webapps
Not sure what localhost folder you are referring to. There is /etc/tomcat7/Catalina/localhost but I dont see a reason why you should be touching it.
This assumes you used standard Ubuntu tools to install tomcat.

Saving a file with Spring MVC

I'm running an application from within the Tomcat container. The user clicks a link and this ultimately causes a method in a helper class to create a file and save it to the file system. When this code is run from a unit test / eclipse it saves the file in the applications root directory but when this is run from the browser / in Tomcat the file is stored in Tomcat's bin directory.
How can I find the applications root so I can choose where the save the file from there?
I need to programatically find the root so this can be deployed onto other environments running tomcat.
Thanks
You should not rely on the position of your Tomcat installation, and your application should not write into the Tomcat installation folder, never. It is quite possible that the Tomcat installation is not even writable for the user running Tomcat in a production environment.
Therefore, use full (absolute) paths only.
To avoid file permission issues you may want to use the user's home directory using System.getProperty("user.home"). That way it will work consistently across environments and operating systems.

Categories

Resources