---
name: "slice2java"
section: "1"
platform: "linux"
package: "zeroc-ice"
version: "3.7.10-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/slice2java"
---

# slice2java(1)

The Slice to Java compiler.

## NAME

slice2java - The Slice to Java compiler.

## SYNOPSIS

slice2java \[options\] \[files\]

## DESCRIPTION

slice2java compiles Slice files to Java. The macro \_\_SLICE2JAVA\_\_ is defined during this compilation.

Full documentation for slice2java is available online at:\
 https://doc.zeroc.com/ice/3.7/language-mappings/java-mapping/client-side-slice-to-java-mapping/slice2java-command-line-options

## OPTIONS

- **-h**, **--help**

  Displays a help message.

- **-v**, **--version**

  Displays the compiler version.

- **-DNAME**

  Defines the preprocessor symbol NAME.

- **-DNAME=DEF**

  Defines the preprocessor symbol NAME with the value DEF.

- **-UNAME**

  Undefines the preprocessor symbol NAME.

- **-IDIR**

  Add the directory DIR to the search path for #include directives.

- **-E**

  Print the preprocessor output on stdout.

- **--output-dir** **DIR**

  Place the generated files into directory DIR.

- **-d**, **--debug**

  Print debug information showing the operation of the Slice parser.

- **--depend**

  Print dependency information to standard output by default, or to the file specified by the --depend-file option. No code is generated when this option is specified.

- **--depend-xml**

  Print dependency information in XML format to standard output by default, or to the file specified by the --depend-file option. No code is generated when this option is specified.

- **--depend-file** **FILE**

  Directs dependency information to the specified file. The output format depends on whether --depend or --depend-xml is also specified.

- **--validate**

  Checks the provided command-line options for correctness, and does not generate any code.

- **--compat**

  Generate code for the Java Compat mapping. When this option is specified, the macro \_\_SLICE2JAVA\_COMPAT\_\_ is defined during the compilation. If this option is not specified, the default behavior is to generate code for the Java mapping.

- **--tie**

  Generate tie classes. (Java Compat only)

- **--impl**

  Generate sample implementation files. This option will not overwrite an existing file.

- **--impl-tie**

  Generate sample implementation files using tie classes. This option will not overwrite an existing file. (Java Compat only)

- **--checksum** **CLASS**

  Generate checksums for Slice definitions into the class CLASS. The given class name may optionally contain a package specifier. The generated class contains checksums for all of the Slice files being translated by this invocation of the compiler.

- **--meta** **META**

  Define the file metadata directive META. Using this option is equivalent to defining the file metadata META in each named Slice file, as well as in any file included by a named Slice file. File metadata specified with --meta overrides any corresponding file metadata directive in the files being compiled.

- **--list-generated**

  Emit a list of generated files in XML format.

## SEE ALSO

[**slice2cpp**(1)](/slice2cpp/1.md), [**slice2cs**(1)](/slice2cs/1.md), [**slice2js**(1)](/slice2js/1.md), [**slice2matlab**(1)](/slice2matlab/1.md), [**slice2objc**(1)](/slice2objc/1.md), [**slice2php**(1)](/slice2php/1.md), [**slice2py**(1)](/slice2py/1.md), [**slice2rb**(1)](/slice2rb/1.md), [**slice2swift**(1)](/slice2swift/1.md)
