Thomas Lötzer
Thomas Lötzer

Reputation: 25411

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.

Upvotes: 7

Views: 4544

Answers (1)

Sean Patrick Floyd
Sean Patrick Floyd

Reputation: 299218

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:

Upvotes: 7

Related Questions