Exactly where are the cvs files? One or two examples should be enough. I suspect that your development/deployment scheme is broken because cvs files/directories (or .svn, or .hg or .git directories) should never appear within the JBVoss AS directory structure.
Ok, this is the situation, I'm talking of our development environment, not the production environment.
We upload to the CVS the context's server folder.
So when we download the folder from the CVS server we got
The conf folder look like this
| |-- bindingservice.beans
| |-- bootstrap
| |-- bootstrap.xml
| |-- config-properties.xml
| |-- CVS
| |-- hibernate.properties
| |-- java.policy
| |-- jax-ws-catalog.xml
| |-- jboss-log4j.xml
| |-- jboss-service.xml
| |-- jbossts-properties.xml
| |-- jndi.properties
| |-- log4j.properties
| |-- login-config.xml
| |-- props
| |-- settings.properties
| |-- standardjbosscmp-jdbc.xml
| |-- standardjboss.xml
| `-- xmdesc
And when we deploy the server, the CVS folders are deleted.
As a workaround we made the CVS folder and files immutable but we would know if there is a configuration file to tell jboss do not delete this files and directories.
So if I understand this correctly, you are checking out the configuration files directly into the server/xxx directory. I guess that I would not do it that way. My typical way of working is to:
a) Create a new server/xxx directory from the original, unmodified download. I usually copy server/default or server/web.
b) Either generate the config files based on build properties or extract the config files from source control. The resulting files go into a separate directory (that is, not into server/xxx).
c) Copy the config files generated/checked-out files from step b to the server/xxx.
Anyway, back to your question. I am stuck on this statement:
>>And when we deploy the server, the CVS folders are deleted.
How do you "deploy the server"? I have only ever deployed an application to a server; I have never deployed a server itself.
Take a look at server/xxx/conf/bootstrap/profile.xml, all the way at the end. Note that the CVS directories are to be ignored by the deployer. But that means that the deployer will not examine the CVS directory nor any files that it contains. This doesn't mean that it will delete them. And i just now tried it by creating a CVS directory within conf, started the app server, and the directory still appears.
Hi Peter, thanks for the replies.
Just to clarify, I check out the context's server folder in my eclipse workspace and then I create a soft link from my jboss server folder to the context's server folder in my eclipse workspace, something like this:
ln -s /opt/workspace/my_app /opt/jboss/server/my_app
How do you "deploy the server"?. Sorry, I meant when I deploy my application in the server.
Well in my case after make several deployments, the CVS files are deleted. I realize of this when I try to synchronize the context's server folder in eclipse and I can't see the synchronize option, just the share project option, as if were a new project. So I check for my cvs files and they were not there, neither the CVS folders.
I check my profile.xml file and as you said the cvs files are ignored by the deployer.
So is a weird case, but all the members of our team have the same problem.
I would never link the app server to my dev environment, that is only asking for headaches. When I actually do Eclipse-centric work (which is rare), I use JBoss Tools which maintains a deployment area within a subdirectory of workspace/.metadata. Usually I don't let Eclipse do any builds or deploys; I rely on Maven or Ant for that.
By "Eclipse-centric work" I mean creating a JBoss AS server within Eclipse, linking my project to that server, and letting Eclipse do the build and deploy.
Besides, how do you know that it is JBoss AS that is deleting the CVS directories, and not Eclipse? Or some plugin within Eclipse? As far as I know, the only thing that JBoss AS deletes is the server/xxx/work and server/xxx/tmp directories. If you were running on Windows I could suggest a tool that would help track down whether Eclipse or JBoss AS is deleting the CVS directories.
I use Ant to build the application and then I deploy it with the command console
my_machine>sh /opt/jboss/bin/run.sh -c my_app
I do not use any eclipse plugin to deploy the application. I'm using eclipse only to check out the context's server folder and build my application.
I assume that it's jboss that is deleting the files because the only thing I'm doing is checking out the context's server folder with eclipse, creating the soft link between the context's server folder in my eclipse workspace and my jboss server folder and deploying my application.
But I think I have to search deeply to know what is really happen.
Thanks for your time.
>>checking out the context's server folder with eclipse,
To where? To jboss_home/server? Or into the Eclipse workspace? If the latter, are you using ant to copy the configuration to jboss_home/server? If so, be aware that Ant's copy task automatically ignores a number of folders, including cvs.
Into eclipse workspace and then creating a soft link (linux command ln -s) to the jboss server home folder.
No, I'm not using Ant to copy the configuration to jboss_home/server folder.
I'm using Ant only to create the .ear of my application.