Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maven: Finding out whether running in a 32 or a 64 bit JVM

How can I enable or disable a maven profile based on whether the VM that is executing maven is a 32 bit or a 64 bit JVM ?

I tried this:

<activation>
   <os>
       <arch>x86</arch>
   </os>
 </activation>

or amd64 respectively to detect a 32/64 bit VM, but this fails on a 32 bit VM running on a 64 bit Windows as it activates the 64 bit profile.

like image 773
Thomas Lötzer Avatar asked May 18 '10 06:05

Thomas Lötzer


1 Answers

In a Sun VM, check for the system property sun.arch.data.model

<profiles>
<profile>
  <id>32bitstuff</id>
  <activation>
    <property>
      <name>sun.arch.data.model</name>
      <value>32</value>
    </property>
  </activation>
</profile>

<profile>
  <id>64bitstuff</id>
  <activation>
    <property>
      <name>sun.arch.data.model</name>
      <value>64</value>
    </property>
  </activation>
</profile>

</profiles>

Reference:

  • HotSpot FAQ
like image 63
Sean Patrick Floyd Avatar answered Nov 14 '22 01:11

Sean Patrick Floyd