« Return to Thread: Not able to pass multiple arguments to javac

Re: Not able to pass multiple arguments to javac

by Sahoo :: Rate this Message:

Reply to Author | View in Thread

I doubt those message come from javac. They were printed by maven when I
ran it with -X option. Tell me what is the option that is *not*
supported by javac. AFAIK, all the options that I want to pass are very
much supported by javac. Check out the documentation [1] of javac that
comes with Sun JDK 6.

More over, JDK 6 compiler allows to provide plugins to javac. In order
to configure the plugin user may have to pass options that are *not*
meant for javac itself, instead they are meant for the javac plugin.
Such options will never be supported by maven-javac-plugin, hence
compilerArgument is the only way to use them. In case of Sun JDK, any
javac option starting -A is passed onto the plugin. An example is
available at [2]. I actually faced all my maven issues while developing
that plugin.

My observation is that when multiple compilerArgument is used, only the
last one is considered.

Thanks,
Sahoo

[1] http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html
[2]
http://weblogs.java.net/blog/ss141213/archive/2007/11/a_javac_plugin_1.html
nicklist@... wrote:

> The fault message you see is actually from javac itself. You're trying to add options that are not supported by javac. All javac options are "supported" by the mojo, it simply passes them to javac.
>
> Why would you want to add options to javac which are not supported by javac?
>
> With regards,
>
> Nick Stolwijk
>
>
> -----Original Message-----
> From: Sanjeeb.Sahoo@... on behalf of Sahoo
> Sent: Mon 11/26/2007 5:12 PM
> To: Maven Users List
> Subject: Re: Not able to pass multiple arguments to javac
>  
> Yes, I knew that approach, but the options I actually want to pass are
> not supported by the mojo. nowarn and verbose were just used as
> examples; I want to pass -proc:none and -implicit. They are not
> supported by javac. There are many such options which are not supported
> by the mojo. I thought compilerArgument is the way to use them. But, it
> is *not* working.
>
> Thanks,
> Sahoo
>
> Jeff Jensen wrote:
>  
>> Try this approach:
>>
>>         <configuration>
>>           <fork>true</fork>
>>           <maxmem>1024m</maxmem>
>>           <showDeprecation>true</showDeprecation>
>>           <showWarnings>true</showWarnings>
>>           ....etc...
>>         </configuration>
>>
>> To know element names to use, use the Name found in the Optional Parameters
>> section of this page:
>>   http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html
>>
>>
>>  
>>    
>>> -----Original Message-----
>>> From: Sanjeeb.Sahoo@... [mailto:Sanjeeb.Sahoo@...] On Behalf Of
>>>    
>>>      
>> Sahoo
>>  
>>    
>>> Sent: Monday, November 26, 2007 8:25 AM
>>> To: Maven Users List
>>> Subject: Re: Not able to pass multiple arguments to javac
>>>
>>> Ignore my earlier email. The suggestion actually does *not* work. When I
>>> run with -X option, it shows only the last compilerArgument. See the
>>> following output:
>>>
>>> [DEBUG] Configuring mojo
>>> 'org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile' -->
>>> [DEBUG]   (f) basedir = /tmp/my-app
>>> [DEBUG]   (f) buildDirectory = /tmp/my-app/target
>>> [DEBUG]   (f) classpathElements = [/tmp/my-app/target/classes]
>>> [DEBUG]   (f) compileSourceRoots = [/tmp/my-app/src/main/java]
>>> [DEBUG]   (f) compilerArgument = -verbose
>>> [DEBUG]   (f) compilerId = javac
>>> [DEBUG]   (f) debug = true
>>> [DEBUG]   (f) failOnError = true
>>> [DEBUG]   (f) fork = false
>>> [DEBUG]   (f) optimize = false
>>> [DEBUG]   (f) outputDirectory = /tmp/my-app/target/classes
>>> [DEBUG]   (f) outputFileName = my-app-1.0-SNAPSHOT
>>> [DEBUG]   (f) projectArtifact = com.mycompany.app:my-app:jar:1.0-SNAPSHOT
>>> [DEBUG]   (f) showDeprecation = false
>>> [DEBUG]   (f) showWarnings = false
>>> [DEBUG]   (f) staleMillis = 0
>>> [DEBUG]   (f) verbose = false
>>> [DEBUG] -- end configuration --
>>>
>>> Thanks,
>>> Sahoo
>>>
>>> Sahoo wrote:
>>>    
>>>      
>>>> Thanks, that works.
>>>>
>>>> Sahoo
>>>>
>>>> Wayne Fay wrote:
>>>>      
>>>>        
>>>>> Try this, Sahoo:
>>>>>
>>>>> <plugin>
>>>>>    <groupId>org.apache.maven.plugins</groupId>
>>>>>    <artifactId>maven-compiler-plugin</artifactId>
>>>>>    <configuration>
>>>>>        <compilerArgument>-nowarn</compilerArgument>
>>>>>        <compilerArgument>-verbose</compilerArgument>
>>>>>    </configuration>
>>>>> </plugin>
>>>>>
>>>>> On 11/22/07, Sahoo <Sahoo@...> wrote:
>>>>>
>>>>>        
>>>>>          
>>>>>> As suggested in [1], I tried configuring maven-compiler-plugin like
>>>>>> this:
>>>>>>
>>>>>>          <compilerArgument>-nowarn -verbose</compilerArgument>
>>>>>>
>>>>>> But it causes compilation failure. Details given below:
>>>>>>
>>>>>> Failure executing javac, but could not parse the error:
>>>>>> javac: invalid flag: -nowarn -verbose
>>>>>>
>>>>>> How can I pass multiple arguments to javac?
>>>>>>
>>>>>> Thanks,
>>>>>> Sahoo
>>>>>> [1]
>>>>>> http://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-
>>>>>>          
>>>>>>            
>>> compiler-arguments.html
>>>    
>>>      
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@...
>>>>>> For additional commands, e-mail: users-help@...
>>>>>>
>>>>>>
>>>>>>
>>>>>>          
>>>>>>            
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@...
>>>>> For additional commands, e-mail: users-help@...
>>>>>
>>>>>
>>>>>        
>>>>>          
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@...
>>>> For additional commands, e-mail: users-help@...
>>>>
>>>>      
>>>>        
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@...
>>> For additional commands, e-mail: users-help@...
>>>
>>>    
>>>      
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@...
>> For additional commands, e-mail: users-help@...
>>
>>  
>>    
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@...
> For additional commands, e-mail: users-help@...
>
>
>
>  

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...

 « Return to Thread: Not able to pass multiple arguments to javac