<html devsite>
<head>
  <meta name="project_path" value="/_project.yaml">
  <meta name="book_path" value="/versions/6.4.0/_book.yaml">
</head>
<body>

<h1 class="page-title" id="modules.JavaRuntimeInfo">JavaRuntimeInfo</h1>

<!-- {% raw %} -->

Information about the Java runtime being used.

<h2>Members</h2>
<ul>
    <li>
    <a href="#files">files</a>
  </li>
      <li>
    <a href="#hermetic_files">hermetic_files</a>
  </li>
      <li>
    <a href="#hermetic_static_libs">hermetic_static_libs</a>
  </li>
      <li>
    <a href="#java_executable_exec_path">java_executable_exec_path</a>
  </li>
      <li>
    <a href="#java_executable_runfiles_path">java_executable_runfiles_path</a>
  </li>
      <li>
    <a href="#java_home">java_home</a>
  </li>
      <li>
    <a href="#java_home_runfiles_path">java_home_runfiles_path</a>
  </li>
      <li>
    <a href="#lib_modules">lib_modules</a>
  </li>
      <li>
    <a href="#to_json">to_json</a>
  </li>
      <li>
    <a href="#to_proto">to_proto</a>
  </li>
      <li>
    <a href="#version">version</a>
  </li>
  </ul>

      <h2 id="files">files</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> JavaRuntimeInfo.files</pre></p>

    Returns the files in the Java runtime.


        <h2 id="hermetic_files">hermetic_files</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> JavaRuntimeInfo.hermetic_files</pre></p>

    Returns the files in the Java runtime needed for hermetic deployments.


        <h2 id="hermetic_static_libs">hermetic_static_libs</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">sequence</a> JavaRuntimeInfo.hermetic_static_libs</pre></p>

    Returns the JDK static libraries.


        <h2 id="java_executable_exec_path">java_executable_exec_path</h2>
        <p><pre class="rule-signature"><a class="anchor" href="string.html">string</a> JavaRuntimeInfo.java_executable_exec_path</pre></p>

    Returns the execpath of the Java executable.


        <h2 id="java_executable_runfiles_path">java_executable_runfiles_path</h2>
        <p><pre class="rule-signature"><a class="anchor" href="string.html">string</a> JavaRuntimeInfo.java_executable_runfiles_path</pre></p>

    Returns the path of the Java executable in runfiles trees. This should only be used when one needs to access the JVM during the execution of a binary or a test built by Bazel. In particular, when one needs to invoke the JVM during an action, java_executable_exec_path should be used instead.


        <h2 id="java_home">java_home</h2>
        <p><pre class="rule-signature"><a class="anchor" href="string.html">string</a> JavaRuntimeInfo.java_home</pre></p>

    Returns the execpath of the root of the Java installation.


        <h2 id="java_home_runfiles_path">java_home_runfiles_path</h2>
        <p><pre class="rule-signature"><a class="anchor" href="string.html">string</a> JavaRuntimeInfo.java_home_runfiles_path</pre></p>

    Returns the path of the Java installation in runfiles trees. This should only be used when one needs to access the JDK during the execution of a binary or a test built by Bazel. In particular, when one needs the JDK during an action, java_home should be used instead.


        <h2 id="lib_modules">lib_modules</h2>
        <p><pre class="rule-signature"><a class="anchor" href="File.html">File</a> JavaRuntimeInfo.lib_modules</pre></p>

    Returns the lib/modules file.

         May return <code>None</code>.

        <h2 id="to_json">to_json</h2>
        <p><pre class="rule-signature"><a class="anchor" href="string.html">string</a> JavaRuntimeInfo.to_json()</pre></p>

    <b>Deprecated</b>. This API is deprecated and will be removed soon. Please do not depend on it. It is <i>disabled</i> with <code>---incompatible_struct_has_no_methods</code>. Use this flag to verify your code is compatible with its imminent removal. <br>Creates a JSON string from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs, a list of these types or a dictionary with string keys and values of these types. Quotes and new lines in strings are escaped. Examples:<br><pre class=language-python>struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
</pre>.<p>Deprecated: instead, use json.encode(x) or json.encode_indent(x), which work for values other than structs and do not pollute the struct field namespace.


        <h2 id="to_proto">to_proto</h2>
        <p><pre class="rule-signature"><a class="anchor" href="string.html">string</a> JavaRuntimeInfo.to_proto()</pre></p>

    <b>Deprecated</b>. This API is deprecated and will be removed soon. Please do not depend on it. It is <i>disabled</i> with <code>---incompatible_struct_has_no_methods</code>. Use this flag to verify your code is compatible with its imminent removal. <br>Creates a text message from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs or dicts or lists of these types. Quotes and new lines in strings are escaped. Struct keys are iterated in the sorted order. Examples:<br><pre class=language-python>struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }
</pre><p>Deprecated: use proto.encode_text(x) instead.


        <h2 id="version">version</h2>
        <p><pre class="rule-signature"><a class="anchor" href="int.html">int</a> JavaRuntimeInfo.version</pre></p>

    The Java feature version of the runtime. This is 0 if the version is unknown.



</body>
</html>

<!-- {% endraw %} -->
