GithubHelp home page GithubHelp logo

cinaq / mendix-userlib-cleaner Goto Github PK

View Code? Open in Web Editor NEW
21.0 21.0 5.0 13.59 MB

A simple CLI tool that identifies duplicate JARS in a directory. It can remove them also if desired.

License: MIT License

Makefile 6.08% Go 93.92%
conflict-resolution developer-tools java mendix

mendix-userlib-cleaner's People

Contributors

xiwenc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mendix-userlib-cleaner's Issues

Running the userlib cleaner breaks deployment in mendix 9.12.4

After running the cleaner in my project, I get the following error when the java code compiles. The main issue is that org.apache.poi gets deleted by the script

Buildfile: C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\deployment\build_core.xml

compile:
[javac] Compiling 697 source files to C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\deployment\run\bin
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelReader.java:19: error: package org.apache.poi does not exist
[javac] import org.apache.poi.EncryptedDocumentException;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelReader.java:20: error: package org.apache.poi.openxml4j.exceptions does not exist
[javac] import org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelReader.java:21: error: package org.apache.poi.openxml4j.exceptions does not exist
[javac] import org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelReader.java:22: error: package org.apache.poi.poifs.filesystem does not exist
[javac] import org.apache.poi.poifs.filesystem.NotOLE2FileException;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelReader.java:23: error: package org.apache.poi.util does not exist
[javac] import org.apache.poi.util.RecordFormatException;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\replication\ExcelValueParser.java:17: error: package org.apache.poi.ss.usermodel does not exist
[javac] import org.apache.poi.ss.usermodel.DateUtil;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSDataReader.java:4: error: package org.apache.poi.hssf.eventusermodel does not exist
[javac] import org.apache.poi.hssf.eventusermodel.HSSFEventFactory;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSDataReader.java:5: error: package org.apache.poi.hssf.eventusermodel does not exist
[javac] import org.apache.poi.hssf.eventusermodel.HSSFRequest;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSDataReader.java:6: error: package org.apache.poi.hssf.record.crypto does not exist
[javac] import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSDataReader.java:7: error: package org.apache.poi.poifs.filesystem does not exist
[javac] import org.apache.poi.poifs.filesystem.POIFSFileSystem;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSDataReader.java:45: error: cannot find symbol
[javac] private static InputStream getInputStreamFromPOIFS(POIFSFileSystem poifs) throws CoreException, IOException {
[javac] ^
[javac] symbol: class POIFSFileSystem
[javac] location: class ExcelXLSDataReader
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSHeaderReader.java:4: error: package org.apache.poi.hssf.eventusermodel does not exist
[javac] import org.apache.poi.hssf.eventusermodel.HSSFEventFactory;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSHeaderReader.java:5: error: package org.apache.poi.hssf.eventusermodel does not exist
[javac] import org.apache.poi.hssf.eventusermodel.HSSFListener;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSHeaderReader.java:6: error: package org.apache.poi.hssf.eventusermodel does not exist
[javac] import org.apache.poi.hssf.eventusermodel.HSSFRequest;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSHeaderReader.java:7: error: package org.apache.poi.poifs.filesystem does not exist
[javac] import org.apache.poi.poifs.filesystem.POIFSFileSystem;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:6: error: package org.apache.poi.hssf.eventusermodel does not exist
[javac] import org.apache.poi.hssf.eventusermodel.HSSFListener;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:7: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.BOFRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:8: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.BoolErrRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:9: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.FormulaRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:10: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.LabelSSTRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:11: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.NumberRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:12: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.Record;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:13: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.SSTRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:21: error: cannot find symbol
[javac] public class ExcelXLSReaderDataFirstPassListener implements HSSFListener {
[javac] ^
[javac] symbol: class HSSFListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataFirstPassListener.java:44: error: cannot find symbol
[javac] public void processRecord(Record record) {
[javac] ^
[javac] symbol: class Record
[javac] location: class ExcelXLSReaderDataFirstPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:10: error: package org.apache.poi.hssf.eventusermodel does not exist
[javac] import org.apache.poi.hssf.eventusermodel.HSSFListener;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:11: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.BOFRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:12: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.BoolErrRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:13: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.CellValueRecordInterface;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:14: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.EOFRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:15: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.ExtendedFormatRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:16: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.FormatRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:17: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.FormulaRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:18: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.LabelSSTRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:19: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.NumberRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:20: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.Record;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:21: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.SSTRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:22: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.StringRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:23: error: package org.apache.poi.hssf.usermodel does not exist
[javac] import org.apache.poi.hssf.usermodel.HSSFDataFormat;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:24: error: package org.apache.poi.hssf.usermodel does not exist
[javac] import org.apache.poi.hssf.usermodel.HSSFDataFormatter;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:37: error: cannot find symbol
[javac] public class ExcelXLSReaderDataSecondPassListener implements HSSFListener {
[javac] ^
[javac] symbol: class HSSFListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:56: error: cannot find symbol
[javac] private HSSFDataFormatter _formatter = new HSSFDataFormatter();
[javac] ^
[javac] symbol: class HSSFDataFormatter
[javac] location: class ExcelXLSReaderDataSecondPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:57: error: cannot find symbol
[javac] private final Map<Integer, FormatRecord> _customFormatRecords = new Hashtable<Integer, FormatRecord>();
[javac] ^
[javac] symbol: class FormatRecord
[javac] location: class ExcelXLSReaderDataSecondPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:58: error: cannot find symbol
[javac] private final List _xfRecords = new ArrayList();
[javac] ^
[javac] symbol: class ExtendedFormatRecord
[javac] location: class ExcelXLSReaderDataSecondPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:77: error: cannot find symbol
[javac] public void processRecord(Record record) throws ExcelRuntimeException {
[javac] ^
[javac] symbol: class Record
[javac] location: class ExcelXLSReaderDataSecondPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:197: error: cannot find symbol
[javac] public String formatNumberDateCell(CellValueRecordInterface cell) {
[javac] ^
[javac] symbol: class CellValueRecordInterface
[javac] location: class ExcelXLSReaderDataSecondPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:248: error: cannot find symbol
[javac] public String getFormatString(CellValueRecordInterface cell) {
[javac] ^
[javac] symbol: class CellValueRecordInterface
[javac] location: class ExcelXLSReaderDataSecondPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderDataSecondPassListener.java:261: error: cannot find symbol
[javac] public int getFormatIndex(CellValueRecordInterface cell) {
[javac] ^
[javac] symbol: class CellValueRecordInterface
[javac] location: class ExcelXLSReaderDataSecondPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderFirstPassListener.java:5: error: package org.apache.poi.hssf.eventusermodel does not exist
[javac] import org.apache.poi.hssf.eventusermodel.HSSFListener;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderFirstPassListener.java:6: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.BOFRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderFirstPassListener.java:7: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.LabelSSTRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderFirstPassListener.java:8: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.Record;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderFirstPassListener.java:9: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.RowRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderFirstPassListener.java:17: error: cannot find symbol
[javac] public class ExcelXLSReaderHeaderFirstPassListener implements HSSFListener {
[javac] ^
[javac] symbol: class HSSFListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderFirstPassListener.java:46: error: cannot find symbol
[javac] public void processRecord( Record record ) {
[javac] ^
[javac] symbol: class Record
[javac] location: class ExcelXLSReaderHeaderFirstPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:7: error: package org.apache.poi.hssf.eventusermodel does not exist
[javac] import org.apache.poi.hssf.eventusermodel.HSSFListener;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:8: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.BOFRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:9: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.BoolErrRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:10: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.FormulaRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:11: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.LabelSSTRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:12: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.NumberRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:13: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.Record;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:14: error: package org.apache.poi.hssf.record does not exist
[javac] import org.apache.poi.hssf.record.SSTRecord;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:22: error: cannot find symbol
[javac] public class ExcelXLSReaderHeaderSecondPassListener implements HSSFListener, ExcelHeadable {
[javac] ^
[javac] symbol: class HSSFListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSReaderHeaderSecondPassListener.java:45: error: cannot find symbol
[javac] public void processRecord( Record record ) {
[javac] ^
[javac] symbol: class Record
[javac] location: class ExcelXLSReaderHeaderSecondPassListener
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXDataReader.java:3: error: package org.apache.poi.openxml4j.exceptions does not exist
[javac] import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXDataReader.java:4: error: package org.apache.poi.openxml4j.opc does not exist
[javac] import org.apache.poi.openxml4j.opc.OPCPackage;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXDataReader.java:5: error: package org.apache.poi.openxml4j.opc does not exist
[javac] import org.apache.poi.openxml4j.opc.PackageAccess;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXDataReader.java:6: error: package org.apache.poi.openxml4j.opc does not exist
[javac] import org.apache.poi.openxml4j.opc.PackagePart;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXDataReader.java:7: error: package org.apache.poi.xssf.eventusermodel does not exist
[javac] import org.apache.poi.xssf.eventusermodel.XSSFReader;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXDataReader.java:8: error: package org.apache.poi.xssf.model does not exist
[javac] import org.apache.poi.xssf.model.StylesTable;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXDataReader.java:9: error: package org.apache.poi.xssf.usermodel does not exist
[javac] import org.apache.poi.xssf.usermodel.XSSFRelation;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXDataReader.java:25: error: cannot find symbol
[javac] throws IOException, OpenXML4JException, SAXException, ExcelRuntimeException {
[javac] ^
[javac] symbol: class OpenXML4JException
[javac] location: class ExcelXLSXDataReader
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXReader.java:7: error: package org.apache.poi.ss.usermodel does not exist
[javac] import org.apache.poi.ss.usermodel.BuiltinFormats;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXReader.java:8: error: package org.apache.poi.ss.usermodel does not exist
[javac] import org.apache.poi.ss.usermodel.DataFormatter;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXReader.java:9: error: package org.apache.poi.xssf.model does not exist
[javac] import org.apache.poi.xssf.model.StylesTable;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXReader.java:10: error: package org.apache.poi.xssf.usermodel does not exist
[javac] import org.apache.poi.xssf.usermodel.XSSFCellStyle;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXReader.java:11: error: package org.apache.poi.xssf.usermodel does not exist
[javac] import org.apache.poi.xssf.usermodel.XSSFRichTextString;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ReadOnlySharedStringsTable.java:27: error: package org.apache.poi.openxml4j.opc does not exist
[javac] import org.apache.poi.openxml4j.opc.OPCPackage;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ReadOnlySharedStringsTable.java:28: error: package org.apache.poi.openxml4j.opc does not exist
[javac] import org.apache.poi.openxml4j.opc.PackagePart;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ReadOnlySharedStringsTable.java:29: error: package org.apache.poi.openxml4j.opc does not exist
[javac] import org.apache.poi.openxml4j.opc.PackageRelationship;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ReadOnlySharedStringsTable.java:30: error: package org.apache.poi.xssf.usermodel does not exist
[javac] import org.apache.poi.xssf.usermodel.XSSFRelation;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXDataReader.java:78: error: cannot find symbol
[javac] private SheetHandler(Predicate isColumnUsed, ReadOnlySharedStringsTable stringsTable, StylesTable stylesTable,
[javac] ^
[javac] symbol: class StylesTable
[javac] location: class SheetHandler
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ReadOnlySharedStringsTable.java:102: error: cannot find symbol
[javac] public ReadOnlySharedStringsTable(OPCPackage pkg)
[javac] ^
[javac] symbol: class OPCPackage
[javac] location: class ReadOnlySharedStringsTable
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ReadOnlySharedStringsTable.java:121: error: cannot find symbol
[javac] public ReadOnlySharedStringsTable(PackagePart part, @SuppressWarnings("unused") PackageRelationship rel_ignored) throws IOException, SAXException {
[javac] ^
[javac] symbol: class PackagePart
[javac] location: class ReadOnlySharedStringsTable
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ReadOnlySharedStringsTable.java:121: error: cannot find symbol
[javac] public ReadOnlySharedStringsTable(PackagePart part, @SuppressWarnings("unused") PackageRelationship rel_ignored) throws IOException, SAXException {
[javac] ^
[javac] symbol: class PackageRelationship
[javac] location: class ReadOnlySharedStringsTable
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXReader.java:31: error: cannot find symbol
[javac] private StylesTable stylesTable;
[javac] ^
[javac] symbol: class StylesTable
[javac] location: class ExcelSheetHandler
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXReader.java:45: error: cannot find symbol
[javac] private final DataFormatter formatter;
[javac] ^
[javac] symbol: class DataFormatter
[javac] location: class ExcelSheetHandler
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXReader.java:55: error: cannot find symbol
[javac] protected ExcelSheetHandler( ReadOnlySharedStringsTable stringsTable, StylesTable stylesTable, int sheetNr, int startRowNr, int columnCount ) {
[javac] ^
[javac] symbol: class StylesTable
[javac] location: class ExcelSheetHandler
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXHeaderReader.java:8: error: package org.apache.poi.openxml4j.exceptions does not exist
[javac] import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXHeaderReader.java:9: error: package org.apache.poi.openxml4j.opc does not exist
[javac] import org.apache.poi.openxml4j.opc.OPCPackage;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXHeaderReader.java:10: error: package org.apache.poi.openxml4j.opc does not exist
[javac] import org.apache.poi.openxml4j.opc.PackageAccess;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXHeaderReader.java:11: error: package org.apache.poi.openxml4j.opc does not exist
[javac] import org.apache.poi.openxml4j.opc.PackagePart;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXHeaderReader.java:12: error: package org.apache.poi.xssf.eventusermodel does not exist
[javac] import org.apache.poi.xssf.eventusermodel.XSSFReader;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXHeaderReader.java:13: error: package org.apache.poi.xssf.model does not exist
[javac] import org.apache.poi.xssf.model.StylesTable;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXHeaderReader.java:14: error: package org.apache.poi.xssf.usermodel does not exist
[javac] import org.apache.poi.xssf.usermodel.XSSFRelation;
[javac] ^
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXHeaderReader.java:36: error: cannot find symbol
[javac] public ExcelXLSXHeaderReader( String fullPathExcelFile, int sheetNr, int rowNr, int columnCount ) throws CoreException, IOException, SAXException, OpenXML4JException {
[javac] ^
[javac] symbol: class OpenXML4JException
[javac] location: class ExcelXLSXHeaderReader
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelXLSXHeaderReader.java:85: error: cannot find symbol
[javac] private SheetHandler( ReadOnlySharedStringsTable stringsTable, StylesTable stylesTable, int rowNr, int sheetNr, int columnCount ) {
[javac] ^
[javac] symbol: class StylesTable
[javac] location: class ExcelXLSXHeaderReader.SheetHandler
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelReader.java:393: error: cannot find symbol
[javac] catch (OLE2NotOfficeXmlFileException e) {
[javac] ^
[javac] symbol: class OLE2NotOfficeXmlFileException
[javac] location: class ExcelReader
[javac] C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\javasource\excelimporter\reader\readers\ExcelReader.java:397: error: cannot find symbol
[javac] catch (NotOfficeXmlFileException | NotOLE2FileException e) {
[javac] ^
[javac] symbol: class NotOfficeXmlFileException
[javac] location: class ExcelReader
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 100 errors

BUILD FAILED
C:\Users\mxnguyen\Documents\Mendix\TravelSmart-ExcelDataImport\deployment\build_core.xml:30: Compile failed; see the compiler error output for details.

Total time: 6 seconds

Failed to parse metadata from poi-4.1.1.jar

16:37:46.560 getJarProps ▶ WARN 002 Failed to parse metadata from checker-qual-2.5.2.jar
16:37:46.717 getJarProps ▶ WARN 003 Failed to parse metadata from commons-httpclient-3.1.jar
16:37:46.850 getJarProps ▶ WARN 004 Failed to parse metadata from fmsutil.jar
16:37:46.860 getJarProps ▶ WARN 005 Failed to parse metadata from fscjavaclientproxy.jar
16:37:47.089 getJarProps ▶ WARN 006 Failed to parse metadata from not-yet-commons-ssl-0.3.17.jar
16:37:47.376 getJarProps ▶ WARN 007 Failed to parse metadata from org.apache.poi.poi-4.1.2.jar
16:37:47.381 getJarProps ▶ WARN 008 Failed to parse metadata from org.apache.poi.poi-ooxml-4.1.2.jar
16:37:47.395 getJarProps ▶ WARN 009 Failed to parse metadata from org.apache.poi.poi-ooxml-schemas-4.1.2.jar
16:37:47.401 getJarProps ▶ WARN 00a Failed to parse metadata from org.apache.xmlbeans.xmlbeans-3.1.0.jar
16:37:47.452 getJarProps ▶ WARN 00b Failed to parse metadata from poi-4.1.1.jar
16:37:47.457 getJarProps ▶ WARN 00c Failed to parse metadata from poi-ooxml-4.1.1.jar
16:37:47.478 getJarProps ▶ WARN 00d Failed to parse metadata from poi-ooxml-schemas-4.1.1.jar
16:37:47.481 getJarProps ▶ WARN 00e Failed to parse metadata from replication.jar
16:37:47.521 getJarProps ▶ WARN 00f Failed to parse metadata from teamcenter_sso_applib.jar
16:37:47.536 getJarProps ▶ WARN 010 Failed to parse metadata from teamcenter_sso_common.jar
16:37:47.553 getJarProps ▶ WARN 011 Failed to parse metadata from teamcenter_sso_ldapcustom.jar
16:37:47.561 getJarProps ▶ WARN 012 Failed to parse metadata from teamcenter_sso_webtoolkit.jar
16:37:47.623 getJarProps ▶ WARN 013 Failed to parse metadata from xercesImpl-2.12.0.jar
16:37:47.629 getJarProps ▶ WARN 014 Failed to parse metadata from xercesImpl-2.12.1-sp1.jar
16:37:47.641 getJarProps ▶ WARN 015 Failed to parse metadata from xml-apis.jar
16:37:47.649 getJarProps ▶ WARN 016 Failed to parse metadata from xmlbeans-3.1.0.jar

Uploading examples.zip…

Doesn't recognize jackson-databind-2.14.1 over jackson-databind-2.13.4.2

Reproduce steps:

  1. Test project on Mendix 9.18.4
  2. Download JWT module from Marketplace (v3.2.2)
  3. Download SapAuthentication module (v2.1.9)
  4. Run Mendix Userlib Cleaner
  5. cleanJars ▶ WARN 00a Would remove file jackson-databind: ..\userlib\jackson-databind-2.14.1.jar (instead of jackson-databind-2.13.4.2.jar)

If the cleaner actually removes this jackson-databind-2.14.1.jar file, the project build will succeed but SapAuthentication fails on runtime with this error:
2023-04-08T08:04:12.323Z [APP/PROC/WEB] OUT CRITICAL - M2EE: An unhandled error occurred in the MxRuntime.
2023-04-08T08:04:12.323Z [APP/PROC/WEB] OUT CRITICAL - M2EE: java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/util/JacksonFeature

Use java code parsing to determine if jars are required

High level:

  • Walk through all java files in the project

  • Create list of classes with full names. E.g. org.json.blaat.hello

  • Walk through all jars and create list of all classes with full names also

Compute the difference and identify which jars can be removed.

Failing jars

Hi,

It did find the right jars, nice job. I used 1.2.0.

It failed to process these jars in some Mx projects I have access to, probably incompatible manifest formats?

12:58:14.800 getJarProps ▶ WARN 002 Failed to parse activation-1.1.1.jar
12:58:14.806 getJarProps ▶ WARN 003 Failed to parse activation-1.1.jar
12:58:14.920 getJarProps ▶ WARN 004 Failed to parse checker-qual-2.5.2.jar
12:58:14.957 getJarProps ▶ WARN 005 Failed to parse connect-json-2.4.0.jar
12:58:15.141 getJarProps ▶ WARN 006 Failed to parse jldap-4.3.jar
12:58:15.174 getJarProps ▶ WARN 007 Failed to parse kafka-clients-2.4.0.jar
12:58:15.178 getJarProps ▶ WARN 008 Failed to parse kafka-log4j-appender-2.4.0.jar
12:58:15.182 getJarProps ▶ WARN 009 Failed to parse kafka-streams-2.4.0.jar
13:16:33.996 getJarProps ▶ WARN 002 Failed to parse junit-4.11.jar
13:16:34.006 getJarProps ▶ WARN 003 Failed to parse nekohtml.jar
13:16:34.194 getJarProps ▶ WARN 004 Failed to parse xml-apis-1.4.01.jar
13:17:44.179 getJarProps ▶ WARN 002 Failed to parse activation-1.1.1.jar
13:17:44.270 getJarProps ▶ WARN 003 Failed to parse checker-qual-2.5.2.jar
13:17:44.311 getJarProps ▶ WARN 004 Failed to parse commons-httpclient-3.1.jar
13:17:44.542 getJarProps ▶ WARN 005 Failed to parse not-yet-commons-ssl-0.3.17.jar
13:17:44.686 getJarProps ▶ WARN 006 Failed to parse value-2.8.2.jar
13:17:44.707 getJarProps ▶ WARN 007 Failed to parse xercesImpl-2.12.0.jar
13:17:44.713 getJarProps ▶ WARN 008 Failed to parse xml-apis.jar
13:18:20.265 getJarProps ▶ WARN 002 Failed to parse activation-1.1.1.jar
13:18:20.355 getJarProps ▶ WARN 003 Failed to parse checker-qual-2.5.2.jar
13:18:20.444 getJarProps ▶ WARN 004 Failed to parse commons-httpclient-3.1.jar
13:18:20.643 getJarProps ▶ WARN 005 Failed to parse org.apache.poi.poi-4.1.1.jar
13:18:20.650 getJarProps ▶ WARN 006 Failed to parse org.apache.poi.poi-ooxml-4.1.1.jar
13:18:20.665 getJarProps ▶ WARN 007 Failed to parse org.apache.poi.poi-ooxml-schemas-4.1.1.jar
13:18:20.678 getJarProps ▶ WARN 008 Failed to parse org.apache.xmlbeans.xmlbeans-3.1.0.jar
13:26:58.495 getJarProps ▶ WARN 002 Failed to parse checker-qual-2.5.2.jar
13:26:58.669 getJarProps ▶ WARN 003 Failed to parse commons-httpclient-3.1.jar
13:26:59.069 getJarProps ▶ WARN 004 Failed to parse jsch-0.1.55.jar
13:26:59.219 getJarProps ▶ WARN 005 Failed to parse junit-4.11.jar
13:26:59.239 getJarProps ▶ WARN 006 Failed to parse not-yet-commons-ssl-0.3.17.jar
13:26:59.533 getJarProps ▶ WARN 007 Failed to parse org.apache.poi.poi-4.1.1.jar
13:26:59.553 getJarProps ▶ WARN 008 Failed to parse org.apache.poi.poi-ooxml-4.1.1.jar
13:26:59.578 getJarProps ▶ WARN 009 Failed to parse org.apache.poi.poi-ooxml-schemas-4.1.1.jar
13:26:59.600 getJarProps ▶ WARN 00a Failed to parse org.apache.xmlbeans.xmlbeans-3.1.0.jar
13:26:59.697 getJarProps ▶ WARN 00b Failed to parse replication.jar
13:26:59.879 getJarProps ▶ WARN 00c Failed to parse xercesImpl-2.12.0.jar
13:26:59.900 getJarProps ▶ WARN 00d Failed to parse xml-apis.jar

In email connector incorrect cleanup

17:05:09.771 computeJarsToKeep ▶ INFO 006 Found newer eventTrackingLibrary-1.0.2.jar over Email_Connector-1.0.0.jar
17:05:09.772 cleanJars ▶ INFO 007 Cleaning...
17:05:09.772 cleanJars ▶ WARN 008 Would remove file com.mendix.datahub.connector: Email_Connector-1.0.0.jar

Email_Connector is deleted which is not correct.

Cleanup metafiles when cleaning up JARs

Sometimes a metafile is put in the userlib directory to indicate which modules depend on a JAR. For example:

accessors-smart-2.4.7.jar
accessors-smart-2.4.7.jar.MendixSSO.3.0.0
accessors-smart-2.4.7.jar.MendixSSO.RequiredLib
accessors-smart-2.4.7.jar.Required.by.oauth2-oidc-sdk.8.36.2
accessors-smart-2.4.7.jar.Required.by.oauth2-oidc-sdk.9.15

When cleaning the userlib directory, these metafiles are left behind. It would be nice if there was a feature flag that also removed these metafiles.

Preferring file org.apache.poi.poi-ooxml-4.1.2.jar over org.apache.poi.poi-4.1.2.jar

.\mendix-userlib-cleaner.exe --mode strict
14:14:41.036 listAllFiles ▶ INFO 001 Listing all files in target directory: .
14:14:41.037 listAllJars ▶ INFO 002 Finding and parsing JARs
14:14:41.224 getJarProps ▶ WARN 003 Failed to parse metadata from checker-qual-2.5.2.jar
14:14:41.373 getJarProps ▶ WARN 004 Failed to parse metadata from fmsutil.jar
14:14:41.543 getJarProps ▶ WARN 005 Failed to parse metadata from json-smart-2.2.1-patch-noproperty.jar
14:14:41.645 getJarProps ▶ WARN 006 Failed to parse metadata from not-yet-commons-ssl-0.3.17.jar
14:14:41.980 getJarProps ▶ WARN 007 Failed to parse metadata from replication.jar
14:14:42.030 getJarProps ▶ WARN 008 Failed to parse metadata from teamcenter_sso_applib.jar
14:14:42.039 getJarProps ▶ WARN 009 Failed to parse metadata from teamcenter_sso_ldapcustom.jar
14:14:42.043 getJarProps ▶ WARN 00a Failed to parse metadata from teamcenter_sso_webtoolkit.jar
14:14:42.148 computeJarsToKeep ▶ INFO 00b Computing duplicates
14:14:42.148 computeJarsToKeep ▶ INFO 00c Preferring file org.apache.poi.poi-ooxml-4.1.2.jar over org.apache.poi.poi-4.1.2.jar
14:14:42.154 computeJarsToKeep ▶ INFO 00d Preferring file org.apache.poi.poi-ooxml-schemas-4.1.2.jar over org.apache.poi.poi-ooxml-4.1.2.jar
14:14:42.155 computeJarsToKeep ▶ INFO 00e Preferring file org.apache.poi.poi-4.1.2.jar over org.apache.poi.poi-ooxml-schemas-4.1.2.jar
14:14:42.156 computeJarsToKeep ▶ INFO 00f Preferring file org.apache.poi.poi-ooxml-schemas-4.1.2.jar over org.apache.poi.poi-4.1.2.jar
14:14:42.157 computeJarsToKeep ▶ INFO 010 Preferring file org.apache.poi.poi-4.1.2.jar over org.apache.poi.poi-ooxml-schemas-4.1.2.jar
14:14:42.158 computeJarsToKeep ▶ INFO 011 Preferring file org.apache.poi.poi-ooxml-4.1.2.jar over org.apache.poi.poi-4.1.2.jar
14:14:42.159 cleanJars ▶ INFO 012 Cleaning...
14:14:42.169 cleanJars ▶ WARN 013 Would remove file Apache POI: org.apache.poi.poi-4.1.2.jar
14:14:42.183 cleanJars ▶ WARN 014 Would remove file Apache POI: org.apache.poi.poi-ooxml-schemas-4.1.2.jar
14:14:42.183 cleanJars ▶ WARN 015 Would remove file Apache POI: org.apache.poi.poi-ooxml-schemas-4.1.2.jar.XLSReport.RequiredLib
14:14:42.189 cleanJars ▶ INFO 016 Clean up 2 jars and 1 meta files
14:14:42.189 main ▶ INFO 017 Would have removed: 3 files
14:14:42.191 main ▶ INFO 018 Use --clean to actually remove above file(s)

poi-jars.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.