There is support for generating source code from some form of template.
Usually requires a plugin for the "template" engine, or antrun and

You would keep the "template" outside if src/main/java and then the
generated source goes to something like target/generated-source/... And
that path gets added as a source root.

But keep in mind the principle of environment agnostic artifacts. Tuning
logging levels is not such, so abusing to do such is a bad plan
On Friday, 16 November 2012, John Kramer wrote:

I know that this may not address your question directly, but I suggest
that you change your approach.

Rather than build two different artifacts for debugging or not debugging,
I suggest that you make the a runtime configuration. Look into various
logging frameworks (log4j, log back) that will allow this. They are pretty
flexible and should probably help you.

If they don't address your issue, you should look into using java system
properties. The tag <argLine> will allow you to set them in tests run with
the surefire plugin.

You can also package a properties file with your code and use maven
properties to filter that. However, as far as I know, Maven only has the
capability to filter resources (such as the aforementioned properties
file), not java source code (and if it does have that capability, I would
suggest not using it as it would screw up static source tools).

John Kramer
email: jkramer@mojiva.com <javascript:;> >
mobile: 314.435.2370
skype: kramer.mojiva
twitter: @KramerKnowsTech<https://twitter.com/KramerKnowsTech>

From: "Nick Cuneo (ncuneo)" <ncuneo@cisco.com <javascript:;><mailto:
ncuneo@cisco.com <javascript:;>>>
Reply-To: Maven Users List <users@maven.apache.org <javascript:;><mailto:
users@maven.apache.org <javascript:;>>>
Date: Friday, November 16, 2012 16:53 PM
To: "users@maven.apache.org <javascript:;> <users@maven.apache.org <javascript:;> >>
Subject: Properties within source code


We are attempting to migrate our build environment from being very
Ant-centric, to be Maven-centric. We have a source file (Trace.java) that
has a couple of variables that get set for debug/non-debug builds. The
code is as follows
public boolean DEBUG = ${debug.enabled};

Obviously this won’t compile as is, but with Ant we were able to replace
that property at compile time so it would build the appropriate package.
I’m trying to get that same functionality with Maven… I’ve looked into
trying to add the file as a resource and creating the property in the
pom.xml. I’ve also tried using the google-replace plugin, but that didn’t
seem to work well either. Am I just not doing it right? I’m learning
Maven as I go so I figured that’s a possibility. I’ve tried doing searches
on the subject with google and looking through maven documentation and it
feels straightforward but just not working for me.

Example from pom:



I see in the log that it’s doing something with the file, maybe not what I
was intending though:
[INFO] Copying 1 resource

Any help would be appreciative.


Nicholas Cuneo
Software Engineer
ncuneo@cisco.com <javascript:;><mailto:ncuneo@cisco.com <javascript:;>>
Phone: 1-714-434-2344
Mobile: 1-949-243-4952

3500 Hyland Ave
Costa Mesa, CA
United States

Download vCard[Description: Virtual Card File]<

[Description: Think before you print.]Think before you print.
This email may contain confidential and privileged material for the sole
use of the intended recipient. Any review, use, distribution or disclosure
by others is strictly prohibited. If you are not the intended recipient (or
authorized to receive for the recipient), please contact the sender by
reply email and delete all copies of this message.
For corporate legal information go to:

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 3 of 5 | next ›
Discussion Overview
groupusers @
postedNov 16, '12 at 9:53p
activeNov 19, '12 at 7:06a



site design / logo © 2021 Grokbase