This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Simply put, the Spring Beans File (footballamangerroles.xml) resides within a package (com.mcparland.john.footballmanagerroles.config). There are config files one level down from there too ([dev|prod]/footballamangerroles_log4j.properties).
However when I build the project, using Ant, the config directory is completely missing! See the image below.
I would have expected a config dir with all the config files (and subdirectories) in there. I note also that the war itself does not include the config dir.
Where are your config files located in your project? If they are in the same location as the .java source files, you will need to copy then over to the classes directory (the <javac> task doesn't copy properties file)
Peter Johnson wrote:Where are your config files located in your project? If they are in the same location as the .java source files, you will need to copy then over to the classes directory (the <javac> task doesn't copy properties file)
The config files are within the packages. E.g.
main/packages is the main SOURCE root.
All packages start with name com.mcpaland.john.footballmanagerroles
Under the directory main/packages/com/mcparlan/john/footballmanagerroles there is the "config" directory, and many other directories. The config directory contains the Spring XML file, while other directories contain Java source code.
I understand what you say about copying the files over - but where exactly should this be? I've tried messing around with it myself, but while that allows the War to contain the Spring XML file, it does not let Tomcat launch it!
I finally figured this out. Peter was right that I needed a copy. I put this in.
As part of the the copy task and it worked! That said, I did have to simplify the structure, to do away with different mode-controlled directories for the properties files. I'll look to add this back in later.
After this I looked at why the application would not launch. As it turned out, when I looked at the Tomcat logs, I found that because I had already deployed an application with the same name Tomcat wouldn't allow it. The lesson is to clean-up your applications...
More checking of the logs led to uncovering problems with file locations etc but in the end it now works!