GithubHelp home page GithubHelp logo

guicamest / gduplicate-finder Goto Github PK

View Code? Open in Web Editor NEW
31.0 4.0 7.0 50.85 MB

GDuplicate Finder - A Groovy way to find duplicates among your computer and network shares!

Home Page: https://sourceforge.net/projects/gdupfinder/

License: Apache License 2.0

Groovy 82.23% Java 17.35% Shell 0.32% Batchfile 0.10%
duplicate duplicates finder s3 network-share ssh gpars groovy

gduplicate-finder's Introduction

GDuplicateFinder - A FREE Groovy way to find file duplicates!

Unlike other duplicate finders such as Easy Duplicate File Finder, Auslogics Duplicate File Finder, MindGems Fast Duplicate File Finder, Duplicate Cleaner, DupFiles and others, GDuplicateFinder is a FREE cross-platform application, with the ability to search among not just local files, but files on the network, such as a Windows or a Linux share using VFS library.

Taking advantage of Groovy facilities and GPars power to process in parallel, GDuplicateFinder will help you get rid of those duplicates you always wanted to dispose in an easy and friendly way.

If you feel like contributing with code, you can always fork this repo. Gradle will help you configure the Eclipse project for you. You can also suggest improvements.

If you don't feel like coding but want to donate some money, you can do that using paypal.

Current features

  • Manage network drives(add, edit, remove)
  • Turn on/off network drives
  • Save/load duplicates results session
  • Stop, save, load and resume a search for duplicates
  • Open duplicate files with system's default editor
  • Internationalization
  • Update checker

Network Shares supported

  • SMB (Samba)
  • SFTP / SCP (Connection via Ssh)
  • FTP
  • Amazon S3

How to build

Required gradle version >= 1.0-rc-1

Requires Java >= 1.6

On root folder GDuplicateFinder run gradle distZip. Script will automatically detect your system's os. You can change the os by running gradle -Pos=$osname where $osname can be one of the following: windows32, windows64, linux32, linux64, maccocoa32 or maccocoa64.

How to run

Requires Java >= 1.6

Get the build corresponding to your system from https://sourceforge.net/projects/gdupfinder/files/ and unzip GDuplicateFinder-2.0.3.zip

On windows run: bin/FileDuplicateFinderUI.bat

If you are on Mac or linux, run: bin/FileDuplicateFinderUI

Troubleshooting

Linux

If you are getting Unable to locate theme engine in module_path: "pixmap" you should install gtk2-engines-pixbuf package.

On an Ubuntu distribution just run sudo apt-get install gtk2-engines-pixbuf

Cannot load 64-bit SWT libraries

If you are getting Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT libraries on 32-bit JVM it means your default java installation is 32-bit. You can verify it opening a console and typing java -version. To fix it, either install 64-bit java and set it as default or download the 32-bit version of GDuplicateFinder. For more info, follow this thread

Donations

Thanks a lot to the following people for their donations to keep GDuplicateFinder alive!

  • Prezzy card holder from New Zealand
  • Risto Ronkka from Finland

gduplicate-finder's People

Contributors

despegargcampelo avatar guicamest avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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

gduplicate-finder's Issues

Problem with windows ( access denied ) files

Stacktrace:

Mar 20, 2013 6:00:58 PM org.apache.commons.logging.Log$info call
INFO: Loaded i18n resources
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further detail
s.
Mar 20, 2013 6:00:59 PM org.apache.commons.logging.Log$warn call
WARNING: No adapter found for file null
Exception in thread "Thread-4" org.codehaus.groovy.runtime.InvokerInvocationExce
ption: java.io.FileNotFoundException: C:$WINDOWS.~BT\Sources\Rollback\diagwrn.x
ml (Access is denied)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
97)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(C
losureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904)
at groovy.lang.Closure.call(Closure.java:415)
at groovy.lang.Closure.call(Closure.java:409)
at groovy.lang.Closure.run(Closure.java:493)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: C:$WINDOWS.~BT\Sources\Rollback\diagw
rn.xml (Access is denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou

rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstru
ctor.java:77)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteN
oUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstru
ctor(CallSiteArray.java:57)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor
(AbstractCallSite.java:182)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor
(AbstractCallSite.java:190)
at com.sleepcamel.fileduplicatefinder.core.domain.fileadapter.LocalFileA
dapter.inputStream(LocalFileAdapter.groovy:43)
at com.sleepcamel.fileduplicatefinder.core.domain.fileadapter.LocalFileA
dapter$inputStream.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent
(CallSiteArray.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abs
tractCallSite.java:133)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abs
tractCallSite.java:141)
at com.sleepcamel.fileduplicatefinder.core.domain.fileadapter.LocalFileA
dapter.md5(LocalFileAdapter.groovy:67)
at com.sleepcamel.fileduplicatefinder.core.domain.fileadapter.LocalFileA
dapter$md5.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSi
teArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:116)
at com.sleepcamel.fileduplicatefinder.core.domain.FileWrapper.md5(FileWr
apper.groovy:119)
at com.sleepcamel.fileduplicatefinder.core.domain.FileWrapper$md5.call(U
nknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSi
teArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:112)
at com.sleepcamel.fileduplicatefinder.core.domain.DuplicateFinderProgres
s$_initPhases_closure2.doCall(DuplicateFinderProgress.groovy:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(C
losureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaC
lassSite.java:39)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSi
teArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:116)
at com.sleepcamel.fileduplicatefinder.core.domain.finder.DuplicateFinder
Phase.processFile(DuplicateFinderPhase.groovy:40)
at com.sleepcamel.fileduplicatefinder.core.domain.finder.DuplicateFinder
Phase$processFile.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSi
teArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:116)
at com.sleepcamel.fileduplicatefinder.core.domain.DuplicateFinderProgres
s.processFile(DuplicateFinderProgress.groovy:98)
at com.sleepcamel.fileduplicatefinder.core.domain.DuplicateFinderProgres
s$processFile.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSi
teArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:116)
at com.sleepcamel.fileduplicatefinder.core.domain.finder.SequentialDupli
cateFinder$_resume_closure3_closure7.doCall(SequentialDuplicateFinder.groovy:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
  1. at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
    at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(C
    

losureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904)
at groovy.lang.Closure.call(Closure.java:415)
at groovy.lang.Closure.call(Closure.java:428)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMe
thods.java:1326)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMe
thods.java:1298)
at org.codehaus.groovy.runtime.dgm$148.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMetho
dSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMeta
MethodSite.java:53)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSi
teArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCa
llSite.java:116)
at com.sleepcamel.fileduplicatefinder.core.domain.finder.SequentialDupli
cateFinder$_resume_closure3.doCall(SequentialDuplicateFinder.groovy:75)
at com.sleepcamel.fileduplicatefinder.core.domain.finder.SequentialDupli
cateFinder$_resume_closure3.doCall(SequentialDuplicateFinder.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)
... 7 more

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/build-n-verify.yml
  • actions/checkout v4.1.7
  • actions/setup-java v4.2.1
  • gradle/actions v3.4.2
.github/workflows/jmh.yml
  • actions/checkout v4.1.7
  • actions/setup-java v4.2.1
  • gradle/actions v3.4.2
gradle
gradle.properties
init.gradle
settings.gradle
  • org.jetbrains.compose 1.6.11
  • org.jetbrains.kotlin.plugin.compose 2.0.0
  • org.danilopianini.gradle-pre-commit-git-hooks 2.0.7
build.gradle
  • com.adarshr.test-logger 4.0.0
  • com.linecorp.gradle.license-git 0.1.0
app/build.gradle
core/build.gradle
  • me.champeau.jmh 0.7.2
  • app.cash.licensee 1.11.0
  • org.bouncycastle:bcprov-jdk18on 1.78.1
  • commons-codec:commons-codec 1.17.0
  • jacoco 0.8.12
  • org.assertj:assertj-core 3.26.0
  • com.github.marschall:memoryfilesystem 2.8.0
  • com.google.jimfs:jimfs 1.3.0
  • software.amazon.nio.s3:aws-java-nio-spi-for-s3 2.0.3
  • ch.pontius.nio:smb-nio 0.13.0
  • com.pastdev:jsch-nio 1.0.14
  • com.jcraft:jsch 0.1.55
custom-ktlint-rules/build.gradle
  • org.slf4j:slf4j-api 2.0.13
gradle/libs.versions.toml
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.8.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-debug 1.8.1
  • com.pinterest.ktlint:ktlint-rule-engine-core 1.3.0
  • com.pinterest.ktlint:ktlint-cli-ruleset-core 1.3.0
  • com.pinterest.ktlint:ktlint-test 1.3.0
  • org.jetbrains.kotlinx:kotlinx-serialization-core 1.7.1
  • org.jetbrains.kotlinx:kotlinx-serialization-json 1.7.1
  • org.jetbrains.kotlin.jvm 2.0.0
  • org.jetbrains.kotlin.plugin.serialization 2.0.0
  • org.jlleitschuh.gradle.ktlint 12.1.1
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.8

  • Check this box to trigger a request for Renovate to run again on this repository

FileDuplicateFinderUI

Hi,

Thank you for working on this program!

The following stacktrace resulted from startup on my system (ubuntu 12.04 LTS 64-bit, java version "1.7.0_09", 64-bit server):
x@y: .../GDuplicateFinder-2.0.3/bin$ ./FileDuplicateFinderUI
Jun 02, 2013 12:06:48 PM org.apache.commons.logging.Log$info call
INFO: Loaded i18n resources
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Jun 02, 2013 12:06:48 PM org.apache.commons.logging.Log$warn call
WARNING: No adapter found for file null
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.C.(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.widgets.Display.(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.codehaus.groovy.runtime.callsite.CallSiteArray$1.run(CallSiteArray.java:65)
at org.codehaus.groovy.runtime.callsite.CallSiteArray$1.run(CallSiteArray.java:62)
at java.security.AccessController.doPrivileged(Native Method)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:62)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:159)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
at com.sleepcamel.fileduplicatefinder.ui.MainView.open(MainView.groovy:107)
at com.sleepcamel.fileduplicatefinder.ui.MainView$open.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at com.sleepcamel.fileduplicatefinder.ui.MainView.main(MainView.groovy:91)

Hangs on MacOSX 10.7 and 10.8

Seems to be running out of memory.

$./bin/FileDuplicateFinderUI
Jul 26, 2012 4:26:55 PM org.apache.commons.logging.Log$info call
INFO: Loaded i18n resources
Jul 26, 2012 4:26:55 PM org.apache.commons.logging.Log$warn call
WARNING: No adapter found for file null
nfs server localhost:/K8rL2grEn3U5i8Ej2-NEU1: not responding
nfs server localhost:/K8rL2grEn3U5i8Ej2-NEU1: not responding
nfs server localhost:/K8rL2grEn3U5i8Ej2-NEU1: not responding
nfs server localhost:/K8rL2grEn3U5i8Ej2-NEU1: not responding
nfs server localhost:/K8rL2grEn3U5i8Ej2-NEU1: not responding
nfs server localhost:/K8rL2grEn3U5i8Ej2-NEU1: not responding
nfs server localhost:/K8rL2grEn3U5i8Ej2-NEU1: not responding
nfs server localhost:/K8rL2grEn3U5i8Ej2-NEU1: not responding
^C
^CJava HotSpot(TM) 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal Unknown Signal to handler- the VM may need to be forcibly terminated
Java HotSpot(TM) 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal Unknown Signal to handler- the VM may need to be forcibly terminated

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.