Skip to main content

Development Environment Information

IDEs

This project uses the Maven build system to automatically download libraries and dependencies, and to ensure consistent build behavior. As such, this project can be imported into any IDE that supports the Maven build system.

Supported IDEs

IDEGeneral Config Location(s)Launch Config Location(s)Code Style Config Location(s)Notes
Eclipse Foundation IDE'.project', '.classpath''.eclipse/launch-configs/''.eclipse/code-style/'None
JetBrains IntelliJ IDEA'.idea/''.idea/runConfigurations/''.idea/codeStyles/'The remote debug configuration does not wake the Ewon debug session from the suspend state. Workaround: Update the remote debug configuration to use the 'debugNoSuspend' profile. The Ewon will begin its debug session immediately, therefore, breakpoints at the beginning of the application execution may be missed prior to the IDE debug session connecting.
Visual Studio Code'.vscode/''.vscode/tasks.json'Not yet supportedNo support has been included for remote debugging of applications on the Ewon. If desired, a remote JVM debugging session will need to be created as described in the [Deploy Lifecycle (debug)] ( #deploy-lifecycle-debug) section.
note

Additional IDEs with support for the Maven build system may be supported by this project, but have not been tested.

IDE-Specific Configuration

IntelliJ IDEA

When using IntelliJ IDEA with this project, it is recommended to use the following (free) plugins to improve the development experience:

  1. Google Java Format
  2. Save Actions
note

Configuration files for these plugins are already included with this project, and will be automatically detected by IntelliJ IDEA.

Command-Line

Maven includes extensive support for the command-line interface (CLI). For more information about Maven command-line interface support, please refer to https://maven.apache.org/run.html.

Getting Project Name and Version via Maven

This project includes additional metadata in the JAR file manifest, including the project's name and version from pom.xml.

To alleviate the requirement for including a hardcoded project name or version in source code, you can access those properties as described:

class MavenMetadataExample {

String projectName = ExampleClass.class.getPackage().getImplementationTitle();
String projectVersion = ExampleClass.class.getPackage().getImplementationVersion();
}
note

The required metadata is only included when the project is packaged via Maven. If you package the project using the build.xml Ant build file, the described method of accessing the project name and version may not work or could cause an exception.

Testing with JUnit

This project includes basic support for unit testing via the JUnit 3.8.1 test framework. An example test class has been included in this project at src/test/java/ExampleTest.java. For detailed information about JUnit 3.8.1 and its capabilities, please refer to http://junit.sourceforge.net/junit3.8.1/.

For details about the unit testing in this project, refer to the test lifecycle section on the Maven Lifecycles page.

Requirements

Required Java Version

The Flexy Canary Connector has been designed to work with the latest versions of Java, and has been tested successfully with Java 16+. Older versions of Java may be compatible, but have not been tested and are not supported.

note

During the Maven package lifecycle, an Ewon-compatible JDK will be automatically downloaded and used to compile the resulting source code. This allows for better cross-platform developer support, compilation consistency, and enables the use of modern Java and Maven environments on the host by isolating source code compilation.

Installing a Suitable JDK

If you do not have a suitable JDK installed on your system, follow the vendor instructions to download and install one from the following sources:

Recommended JDK
If you are unsure which JDK to use, we recommend using the Amazon Corretto JDK. It is free, open source, tested successfully, and is the default JDK used by the Flexy Canary Connector  CI/CD pipelines.

Required Maven Version

The Flexy Canary Connector has been designed to work with the latest versions of Maven, and has been tested successfully with Maven 3.6.3+. Older versions of Maven may be compatible, but have not been tested and are not supported.

Installing a Suitable Maven Version

Many IDEs and build tools include Maven, and may be used to build the {ScDocusaurusConfig.title} without installing Maven directly.

If you do not have a suitable Maven version installed on your system, or would prefer to use Maven manually, follow the vendor instructions to download and install one from the Apache Maven webpage.

Required Ewon Firmware Version

The Flexy Canary Connector requires a minimum Ewon firmware version of 14.6 or higher. Older firmware versions may be incompatible and are not supported.

Installing a Suitable Ewon Firmware Version

If you do not have a suitable Ewon firmware version installed on your system, you may download and install one from the Ewon Support webpage.

Follow the instructions provided on the Ewon Support webpage for your specific Ewon device to install the firmware.

Contributing

Detailed information about contributing to this project can be found in the Contribution Guidelines.

Support Notice

While this project is intended to replace the functionality provided by the Ewon JTK's build.xml Ant build file, the Ewon-supplied build.xml Ant build file remains the only officially supported environment for Ewon Java development. For more information about the official Ewon-supplied build.xml Ant build file, please refer to https://developer.ewon.biz/content/java-0.

note

This project does not interact with the build.xml Ant build file, or the Ant build system. Therefore, it is possible to use the official Ewon-supplied build.xml Ant build file in conjunction with the supplied pom.xml Maven build file.